Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将元素marshall到JAXB Axis2响应对象_Java_Jaxb_Axis2_Saml - Fatal编程技术网

Java 如何将元素marshall到JAXB Axis2响应对象

Java 如何将元素marshall到JAXB Axis2响应对象,java,jaxb,axis2,saml,Java,Jaxb,Axis2,Saml,我使用带有JAXB数据绑定的Axis2 wsdl2java为返回SAML断言的web服务创建响应对象。响应对象是使用特定于SAML断言模式的数据类型生成的,正如您所期望的那样。但是,生成断言的系统和集成的SDK将其作为org.w3c.dom.Element返回 (因此流程是服务使用者->我的web服务->SAML身份提供者-(将断言作为元素返回)->将断言返回给使用者) 我的问题是如何将断言从一个元素打包到Axis2响应对象,而不必手动映射每个元素和属性?虽然我确信这是可以实现的,但它看起来很脆

我使用带有JAXB数据绑定的Axis2 wsdl2java为返回SAML断言的web服务创建响应对象。响应对象是使用特定于SAML断言模式的数据类型生成的,正如您所期望的那样。但是,生成断言的系统和集成的SDK将其作为org.w3c.dom.Element返回

(因此流程是服务使用者->我的web服务->SAML身份提供者-(将断言作为元素返回)->将断言返回给使用者)

我的问题是如何将断言从一个元素打包到Axis2响应对象,而不必手动映射每个元素和属性?虽然我确信这是可以实现的,但它看起来很脆弱,而且容易出错

实现是异常配置,这意味着您只需要添加注释,其中需要XML表示不同于基于Java类的默认值

JAXB从许多不同的来源提供了用于
unmarshal
(XML到对象)的API。可以使用以下方法之一从上的DOM节点解组

  • 并举例说明

相关:1)2)3)还要注意,XML->POJO是“解组”,POJO->XML是“封送”。谢谢Brian-我的问题让人困惑,我真正想做的是将Axis2响应对象封送到SOAP响应消息中。谢谢Blaise-我需要花一些时间来尝试一下。看起来我有两个选择-一个是更改响应对象,以便Axis2可以使用自动生成的MessageInOutReceiver类对其进行封送,或者我需要更改MessageInOutReceiver中的封送代码…谢谢Blaise。当我看到你的链接并重新阅读我的问题时,我可能问错了问题。基本上,我尝试使用Axis2生成的响应对象,使我能够将SAML断言打包到SOAP响应中。我认为使用本机元素数据类型将是实现这一点的最佳方法,但也许有更好的方法使用字符串?或者我应该使用元素和