我正在尝试使用 spring-ws 访问 web 服务,但是 web 服务生产者需要在 soap 标头中添加一个自定义元素。我对 web 服务非常陌生,并且在尝试将值注入到 soap 标头中时遇到了麻烦。我正在使用 XMLBeans 从 xsd 转换为 java 并进行编组和解组。我已经构建了 xmlbean 文档并为自定义标头元素设置了所有值,我只需要获取该文档,甚至可能只是将附加到该文档的元素注入到 soap 标头中。下面列出的是soapui中的wsdl(只是header)(我用来学习和做初步测试的)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://www.ups.com/XMLSchema/XOLTWS/UPSS/v1.0" xmlns:v11="http://www.ups.com/XMLSchema/XOLTWS/Rate/v1.1" xmlns:v12="http://www.ups.com/XMLSchema/XOLTWS/Common/v1.0">
<soapenv:Header>
<v1:UPSSecurity>
<v1:UsernameToken>
<v1:Username>name</v1:Username>
<v1:Password>password</v1:Password>
</v1:UsernameToken>
<v1:ServiceAccessToken>
<v1:AccessLicenseNumber>accesskey</v1:AccessLicenseNumber>
</v1:ServiceAccessToken>
</v1:UPSSecurity>
</soapenv:Header>