Web service xsd:string in <[!CDATA[]]>而不是转义特殊字符



有一个PHP SOAP Web服务需要提供一些由我的java服务创建的对象。

所以,想象一下我有这样的东西:

public class Foo {
    private String attribute;
    // getter/setter
}
...
   Foo foo = new Foo();
   foo.setAttribute("attr");
   String serializedFoo = getJsonSerializer().toJson(foo);
   // serialized foo {"attribute": "attr"}
   webService.addNewFoo(serializedFoo);
...

问题是Web服务正在接收这样的序列化foo:

{attribute: attr}

在浏览我的网络时,我发现我所有的报价都被转移到了quot,像这样。

{&quot;attribute&quot;:&quot;attr&quot;}

有什么办法可以避免这种情况吗?我想发送用CDATA包装的字符串。我不希望它失去报价:/

我正在使用

wsimport -keep -Xnocompile WSDL_LOCATION

为我生成客户端和经理以调用Web服务。我负责玻璃鱼的服务。

编辑我无法更改接收端。我知道它应该能够解析转义引号,但不幸的是,我只能从我的角度更改序列化。

使用CDATA不是您想要的解决方案。CCD_ 1应该可以很好地用于传输文字引用字符。接收端的某些内容没有正确解析xml。

最新更新