我正在尝试使用此代码发送Header和SOAP请求(如本论坛中所示):
public void clientInit() { 尝试 {
service = new User_Service(getURL("http://10.56.100.10:8081/UserServices/UserServices?wsdl"), new QName("http://ws.userservices.sac.com/", "UserServices"));
port = service.getUserServicesPort();
WSBindingProvider bp = (WSBindingProvider)port;
bp.setOutboundHeaders(Headers.create(new QName("simpleHeader"),"username"));
}
catch (Exception exception)
{
error("Failed to create URL in Online Medition Client: " + exception.getMessage());
}
factory=new ObjectFactory();
但是,标题仍然没有进入请求:
POST / SubscriberServices / SubscriberServices HTTP / 1.1 接受:text / xml,multipart / related Content-Type:text / xml;字符集= utf-8的 SOAPAction:“http://soap.sac.com” User-Agent:Metro / 2.1(branches / 2.1-6728; 2011-02-03T14:14:58 + 0000)JAXWS-RI / 2.2.3 JAXWS / 2.2 主持人:10.56.100.10:8081 连接:保持活力 内容长度:826
.................................................. .................
我也看到有人建议使用:
setOutboundHeaders中的Headers.create(jaxbContext,myJaxbObject),但我真的不明白这是用来做什么的。 (我对Java很新...) 有人可以建议吗? 非常感谢。
祝你好运, 丹