尝试使用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>
因此,您可以看到没有重复项,因此我无法理解为什么会出现此错误。
感谢任何帮助:
安德鲁
答案 0 :(得分:4)
问题是由FQDN(完全限定域名)引起的。我没有使用默认svc页面上显示的那个。例如,当它实际解析为D4testtest.mynetwork.com/MyService.svc时,我正在尝试127.0.0.1/MyService.svc。
因为两者都有效,所以两个地址似乎都被考虑在内,所以在第二遍时,它已经解析了wsdl,从而产生了这个错误,这是有效的。
干杯,
安德鲁
答案 1 :(得分:0)
我有一个import语句,它使用相同的消息名称加载文件。删除导入解决了我的问题。