在Java和PHP重复消息错误中为WCF服务生成代理

时间:2010-07-02 10:24:10

标签: java php wcf wsdl

尝试使用PHP和Java为WCF服务生成代理时出现以下输出错误:

使用Java我正在使用wsimport和Jaxws以及JaxB 使用PHP我正在使用wsdl2php

我得到的错误如下:

[ERROR]重复“消息”实体:“IWcfRequestProcessor_ProcessRequests_InputMessage   http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/Service.svc?wsdl

的第1行

wsdl中唯一的消息实体是:

  <wsdl:message name="IWcfRequestProcessor_ProcessRequests_InputMessage">
    <wsdl:part name="parameters" element="tns:ProcessRequests"/>
  </wsdl:message>
  <wsdl:message name="IWcfRequestProcessor_ProcessRequests_OutputMessage">
    <wsdl:part name="parameters" element="tns:ProcessRequestsResponse"/>
  </wsdl:message>
  <wsdl:message name="IWcfRequestProcessor_ProcessOneWayRequests_InputMessage">
    <wsdl:part name="parameters" element="tns:ProcessOneWayRequests"/>
  </wsdl:message>

因此,您可以看到没有重复项,因此我无法理解为什么会出现此错误。

感谢任何帮助:

安德鲁

2 个答案:

答案 0 :(得分:4)

问题是由FQDN(完全限定域名)引起的。我没有使用默认svc页面上显示的那个。例如,当它实际解析为D4testtest.mynetwork.com/MyService.svc时,我正在尝试127.0.0.1/MyService.svc。

因为两者都有效,所以两个地址似乎都被考虑在内,所以在第二遍时,它已经解析了wsdl,从而产生了这个错误,这是有效的。

干杯,

安德鲁

答案 1 :(得分:0)

我有一个import语句,它使用相同的消息名称加载文件。删除导入解决了我的问题。