使用Web服务引用部署SharePoint WebPart

时间:2009-01-14 22:12:54

标签: web-services sharepoint sharepoint-2007 wss-3.0

我正在尝试构建一个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部件的正确方法是什么,我可能做错了吗?谢谢!

4 个答案:

答案 0 :(得分:4)

您需要将端点配置添加到使用Web服务的SharePoint网站的web.config中。

答案 1 :(得分:2)

我发现这个问题解决了我的问题。 基本上,我只需要创建一个BasicHttpBinding对象,并使用我的app.config中生成的SVC生成器填充其属性。

WCF Configuration without a config file

答案 2 :(得分:0)

其实我解决了我的问题。我的应用程序有很多项目,配置文件在项目中调用WebService,但它似乎必须在启动项目中...

答案 3 :(得分:0)

嗯,如果我理解你正确的问题,我就是这样做的。我刚刚将一个正确的端点的web服务添加到VS中的项目中,然后在我的实际代码中调用它之前,我从Codeplex的分层对象存储中获取了我想要连接的URL,然后设置网址属性。所以:

MyService srv = new MyService();
srv.Url = SPContext.Current.Web.Properties["serviceurl"];

它的工作就好了。 第h