【问题标题】:Deploying a SharePoint WebPart with its Web Service Reference部署 SharePoint WebPart 及其 Web 服务参考
【发布时间】:2010-10-01 11:43:43
【问题描述】:

我正在尝试构建一个 SharePoint Web 部件,其中包含对我需要从 vb 代码中调用的 另一个 SharePoint 服务器的服务引用。但是,当我第一次尝试调用远程 Web 服务时,我在日志中得到以下信息:


在 ServiceModel 客户端配置部分中找不到引用合同“ListReference.ListsSoap”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此协定匹配的端点元素。在 System.ServiceModel.Description.ConfigLoader.LoadChannelBehaviors(ServiceEndpoint serviceEndpoint,字符串配置名称) 在 System.ServiceModel.ChannelFactory.ApplyConfiguration(字符串配置名称) 在 System.ServiceModel.ChannelFactory.InitializeEndpoint(String configurationName, EndpointAddress 地址) 在 System.ServiceModel.ChannelFactory1..ctor(String endpointConfigurationName, EndpointAddress remoteAddress) at System.ServiceModel.EndpointTrait1.CreateSimplexFactory() 在 System.ServiceModel.ClientBase1.CreateChannelFactoryRef(EndpointTrait1 端点特征) 在 System.ServiceModel.ClientBase1.InitializeChannelFactoryRef() at System.ServiceModel.ClientBase1..ctor() 在 VSeWSS.ChangeRequestWorkflow.ChangeRequest.SubmitForm(Object sender, EventArgs e)


部署带有服务引用的 Web 部件的正确方法是什么,我会做错什么吗?谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 第一次对我有用,但我在猜测要复制多少 web.config。端点位于 ......... 部分.我的 SharePoint web.config 没有 元素,所以我添加了整个元素,从 向下。
    【解决方案2】:

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

    WCF Configuration without a config file

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        它工作得很好。 hth。

        【讨论】:

        • 嗨 Mezmo - 不幸的是,这是我尝试的第一件事 :( 实际的 'new Service(...)' ctor 失败,操作中出现错误消息:'Could not find default endpoint element that references合同...'。遗憾的是,MSDN 文档还说 ClientBase 需要配置值。这对我们来说是个问题,因为我们不想将此客户端 wsdl 详细信息暴露给我们主要产品的其他用户。
        猜你喜欢
        • 1970-01-01
        • 2011-08-29
        • 1970-01-01
        • 2011-01-10
        • 2014-07-19
        • 2012-02-07
        相关资源
        最近更新 更多