有一个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中运行这项服务。
修改 我不能改变接收端。我知道它应该能够解析转义的引号,但不幸的是我只能从我这边改变序列化。
答案 0 :(得分:1)
使用CDATA不是您正在寻找的解决方案。 "
应该可以正常传输文字引用字符。接收端的某些内容无法正确解析xml。