Webservice xsd:< [!CDATA []]>中的字符串而不是逃避特殊字符

时间:2012-01-10 17:43:53

标签: java web-services

有一个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);
...

问题是webservice正在接收序列化的foo,如下所示:

{attribute: attr}

嗅探我的网络,我发现我的所有引号都被打到,就像这样。

{"attribute":"attr"}

有没有办法可以避免这种情况?我想发送包含 CDATA 的字符串。我不希望它丢失引号:/

我正在使用

wsimport -keep -Xnocompile WSDL_LOCATION

为我生成客户端和经理以调用webservice。我在glassfish中运行这项服务。

修改 我不能改变接收端。我知道它应该能够解析转义的引号,但不幸的是我只能从我这边改变序列化。

1 个答案:

答案 0 :(得分:1)

使用CDATA不是您正在寻找的解决方案。 "应该可以正常传输文字引用字符。接收端的某些内容无法正确解析xml。