我正在尝试构建一个SharePoint Web部件,其中包含我需要在vb代码中调用的另一个 SharePoint服务器的服务引用。但是,当我第一次尝试调用远程Web服务时,我在日志中得到以下内容:
无法在ServiceModel客户端配置部分中找到引用合同“ListReference.ListsSoap”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。在System.ServiceModel.Description.ConfigLoader.LoadChannelBehaviors(ServiceEndpoint serviceEndpoint,String configurationName)
在System.ServiceModel.ChannelFactory.ApplyConfiguration(String configurationName)
at System.ServiceModel.ChannelFactory.InitializeEndpoint(String configurationName,EndpointAddress address)
在System.ServiceModel.ChannelFactory 1..ctor(String endpointConfigurationName, EndpointAddress remoteAddress)
at System.ServiceModel.EndpointTrait
1.CreateSimplexFactory()
在System.ServiceModel.ClientBase 1.CreateChannelFactoryRef(EndpointTrait
1 endpointTrait)
在System.ServiceModel.ClientBase 1.InitializeChannelFactoryRef()
at System.ServiceModel.ClientBase
1..ctor()
在VSeWSS.ChangeRequestWorkflow.ChangeRequest.SubmitForm(Object sender,EventArgs e)
使用服务引用部署Web部件的正确方法是什么,我可能做错了吗?谢谢!
答案 0 :(得分:4)
您需要将端点配置添加到使用Web服务的SharePoint网站的web.config中。
答案 1 :(得分:2)
我发现这个问题解决了我的问题。 基本上,我只需要创建一个BasicHttpBinding对象,并使用我的app.config中生成的SVC生成器填充其属性。
答案 2 :(得分:0)
其实我解决了我的问题。我的应用程序有很多项目,配置文件在项目中调用WebService,但它似乎必须在启动项目中...
答案 3 :(得分:0)
MyService srv = new MyService();
srv.Url = SPContext.Current.Web.Properties["serviceurl"];
它的工作就好了。 第h