Web services 如何简单地转换jaxws对象

Web services 如何简单地转换jaxws对象,web-services,jax-ws,Web Services,Jax Ws,嗨, 我有一些Web服务使用jaxws相互调用。 问题是我传递compex对象,类。每次我得到的对象都属于另一个包(proxy1.jaxs.myClass…),所以我必须来回写转换。有没有一种简单的方法可以将代理对象转换为原始对象或其他代理对象? 谢谢,希望我能解释清楚 非常好,如果类是相似的,您甚至可以不进行复杂的XML配置。但是请记住,您必须对推土机映射进行单元测试,因为它与反射一起工作,并且您必须确保所有字段都正确映射 XSLT—如果只传递对象而没有任何逻辑,那么在SOAP XML级别上进

嗨, 我有一些Web服务使用jaxws相互调用。 问题是我传递compex对象,类。每次我得到的对象都属于另一个包(proxy1.jaxs.myClass…),所以我必须来回写转换。有没有一种简单的方法可以将代理对象转换为原始对象或其他代理对象? 谢谢,希望我能解释清楚

  • 非常好,如果类是相似的,您甚至可以不进行复杂的XML配置。但是请记住,您必须对推土机映射进行单元测试,因为它与反射一起工作,并且您必须确保所有字段都正确映射

  • XSLT—如果只传递对象而没有任何逻辑,那么在SOAP XML级别上进行简单的转换就可以了


  • 我猜您希望在客户机中重用自己的JavaBean,而不是使用JAX-WS/JAX-B生成的工件

    解决方案是向JAX-B指定要使用特定类来表示bean。看看JAX-B绑定,解决方案应该如下所示:

    <jxb:bindings schemaLocation="YourService_schema1.xsd" node="/xs:schema">
    <jxb:bindings node="//xs:complexType[@name='yourType']">
        <jxb:class ref="com.myoriginalpackage.YourType">
        </jxb:class>
    </jxb:bindings>
    
    
    
    此页面上还有其他用于处理特定Java类型的示例: