Java中的SOAP对象序列化

Java中的SOAP对象序列化,java,soap,jax-ws,jboss7.x,jbossws,Java,Soap,Jax Ws,Jboss7.x,Jbossws,我正在使用JBossAS7.1.1和JAX-WS2.0 在我的应用程序中,我需要将地图传递给服务。我创建了一个自定义的复杂类型,它扩展了TreeMap。调试时,我确认我试图发送的对象已填充数据,但接收到的对象为空。从其他帖子来看,这似乎是因为它不能很好地处理SOAP序列化。是否有某种方法可以在不更改类型、生成大量字段等情况下为对象实现SOAP XML序列化?我希望能够做到以下几点: public String doSoapXmlSerialization() { // code } pu

我正在使用JBossAS7.1.1和JAX-WS2.0

在我的应用程序中,我需要将地图传递给服务。我创建了一个自定义的复杂类型,它扩展了TreeMap。调试时,我确认我试图发送的对象已填充数据,但接收到的对象为空。从其他帖子来看,这似乎是因为它不能很好地处理SOAP序列化。是否有某种方法可以在不更改类型、生成大量字段等情况下为对象实现SOAP XML序列化?我希望能够做到以下几点:

public String doSoapXmlSerialization() {
    // code
}
public void doSoapXmlDeserialization() {
    // code
}

对我来说,编写序列化和反序列化方法将是一件非常简单的事情。我还可以想象编写某种XSD文件以允许SOAP方法为我完成工作。我还没有找到这方面的指南。JAX-WS通过什么机制尝试序列化对象?

我意识到我的WSDL文件中描述发送和接收对象的部分是XML模式,SOAP使用JAXB。我按照指南建立了一个模式。这让我可以创造任何我想要的东西

相关的:


您的自定义类型是否实现可序列化?我的类型扩展了TreeMap,它实现了可序列化。您的服务有wsdl吗?如果是这样,请在存储为文件的wsdl上运行jboss wsconsume程序,以查看它生成的java代码。在JBoss5中,这是在jboss bin文件夹中。它将获取一个wsdl文件并生成java代码来调用wsdl。您应该能够传递此类数据。我传递了一个map对象作为输入,但它是jms的mapmessage。也许看看hoe MapMessage是为创意而写的。