Webwervice安全标头中的java客户端代码

问题描述:

<soapenv:Header> 
<UsernameToken xmlns="http://siebel.com/webservices">uname</UsernameToken> 
<PasswordText xmlns="http://siebel.com/webservices">pass</PasswordText> 
<SessionType xmlns="http://siebel.com/webservices">None</SessionType> 
</soapenv:Header> 

我一直在使用轴运行时生成的客户端代码和我得到这个异常:操作“QueryByExample”没有认证不能在匿名会话池被执行。请将认证类型与Web服务操作相关联(SBL-EAI-04552)。Webwervice安全标头中的java客户端代码

我看着从计算器几个小时并没有什么其他的答案摸索出适合我。请指导我....

服务代码:

SOAPHeaderElement wsseSecurity = new SOAPHeaderElement(new PrefixedQName("http://schemas.xmlsoap.org/ws/2002/04/secext","Security", "wsse")); 
     MessageElement username = new MessageElement("uname", "UsernameToken"); 
     MessageElement password = new MessageElement("pass", "PasswordText"); 
     username.setObjectValue("username"); 
     password.setObjectValue("password"); 
     wsseSecurity.addChild(username); 
     wsseSecurity.addChild(password); 
stub.setHeader(wsseSecurity); 
+0

请提供您从日志得到确切的错误。在错误发生的地方之前,可能有几行和几行的命令肯定会有帮助。 –

+1

线程“主”中的异常AxisFault faultCode:{http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString:操作'QueryByExample_1'没有身份验证无法在匿名会话池中执行。请关联与web服务操作的认证类型(SBL-EAI-04552) faultActor: faultNode: faultDetail: \t {http://www.siebel.com/ws/fault} siebdetail: user2570281

+0

十分感谢,您使用Siebel服务器与Web服务操作的认证类型相关联? –

您需要添加一些更多的东西,主要的问题是你如何deifning和使用您的密码。你是正确的道路上,但这里是你将如何做一个SOAP 1.4轴客户:

InputStream inConfig = BaseTestCase.class.getClassLoader().getResourceAsStream("axis_client_config.xml"); 
     EngineConfiguration config = new FileProvider(inConfig); 
     PartnerAPILocator locator = new PartnerAPILocator(config); 
     inConfig.close(); 

     stub = locator.getSoap(); 

     Stub axisPort = (Stub) stub; 
     axisPort._setProperty(UsernameToken.PASSWORD_TYPE, WSConstants.PASSWORD_TEXT); 
     axisPort._setProperty(WSHandlerConstants.USER, "ET USERNAME"); 
     axisPort._setProperty(WSHandlerConstants.PW_CALLBACK_REF, new PasswordTokenHandler()); 

这里是我的source并试图按照教程,你甚至可以下载代码。希望这可以帮助你。

+1

谢谢..什么是BAseTestCase.class从哪里得到这 – user2570281

+0

欢迎,你会不会也给它一个1+我的回答以上请,如果你觉得它有用。您可以下载所有的在http://help.exacttarget.com/en/technical_library/web_service_guide/getting_started_developers_and_the_exacttarget_api/connecting_to_the_web_service_api_using_java_and_axis_14/它在页面中间的zip文件的类。 –