WCF调用Java SOAP服务 - 命名空间问题

时间:2014-08-07 19:37:38

标签: java web-services wcf soap

我正在研究关于WCF客户端和JAX-WS服务之间的SOAP连接的非常轻松和小型的项目。我会尽可能简化问题,我将使用假货。假设我有WS服务:

@WebService(serviceName="Example", targetNamespace="http://please.help.me/")
public class SimpleService {
    @WebMethod(operationName="exampleOp")
    public String exampleOp(@WebParam(name="example", targetNamespace="http://please.help.me/") String example) {
        return "Do nothing";
    }
}

好的,所以生成了WSDL文件(重要的是它):

<xs:complexType name="exampleOp">
   <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="example" type="xs:string" />
   </xs:sequence>
</xs:complexType>

我使用WSDL中的svcutil.exe生成C#文件,它给了我:

[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://please.help.me/", Order=0)]
public string example;

之后,如果我调用此方法,来自客户端的消息就是这样:

<exampleOp xmlns="http://please.help.me">
    <example>Blah blah blah</example>
</exampleOp>

但只有java接受的(为了上帝的缘故,它是合格的形式!):

<exampleOp xmlns="http://please.help.me" xmlns:d="http://please.help.me">
    <d:example>Blah blah blah</example>
</exampleOp>

我如何强迫一方与合格的名字清楚地沟通?请。

0 个答案:

没有答案