0

我在某个服务器上部署了 WCF 服务。

我需要通过 JAVA 应用程序调用它,当我检查此 OperationContract 的参数是否从 java 端正确传递但当我在 WCF 服务中记录参数值时,这里似乎没有收到。

我们仅使用“basicHttpBinding”,为 Service 和 OperationContracts 设置的属性如下:-

[ServiceContract]
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[XmlSerializerFormat(Style = OperationFormatStyle.Rpc, Use =     OperationFormatUse.Encoded)]
public interface IMyService
{
    [WebMethod]
    [OperationContract(Action = @"http://tempuri.org/GetString")]
    [WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Wrapped)]
    string GetString(string strParameters);
}

任何机构都可以检查这是否正确,或者可能会建议所有步骤,以便可以通过 JAVA 应用程序正确访问 WCF?

4

2 回答 2

0

WebInvoke 属性不用于 BasicHttpBinding(它用于 webhttpBinding)。你可以把它拿出来。一种诊断方法是在 wcf 配置编辑器 (SvcConfigEditor.exe) 中打开配置。启用跟踪(搜索启用 wcf 跟踪),向将生成跟踪文件的服务发出请求。检查跟踪查看器 (svtraceviewer.exe) 中的日志。你会发现它失败的地方。

于 2013-07-26T00:29:53.207 回答
0

对于 REST ful WCF,尝试使用 WEBHTTPBinding 而不是基本的 HTTP。REST WCF 支持 WebHTTPBindings

于 2013-07-23T06:02:23.173 回答