java - Adding soap header authentication to wsdl2java generated code -


I am in the process of creating a Java Web Service client with a wsdl I use Acceptance Dynamic Web Project and the new Web Services Client Use Apache to create code with wysdl2java with Axis 1.4. To work with the service I need to add SOAP authentication to this code. I could not find a place to do that in generated code. After abundant research I found this, which I have used as my spinal cord for my code so far.

Before I was getting something "error while processing security for error message" or with those lines now I'm getting

I have tried many things to get this exception, this is the code that I have come to. < / P>

  javax.xml.namespace.QName header name = new javax.xml.namespace.QName ("http: //docs.oasis-open.org / wss / 2004/01 / oasis-200401- Wss-wssecurity-secext-1.0.xsd "," secure "); Org.apache.axis.message.SOAPHeaderElement header = New org.apache.axis.message.SOAPHeaderElement (header name); header.setActor (zero); header.setMustUnderstand (true); // ws-security header javax Add userNameTool element to .xml.soap.SOAPElement utElem = header.addChildElement ("UserNameToken"); UtElem.setAttribute ("ID", "uuid-3453f017-d595-4a5b-bc16-da53e5831cd1-1"); Javax.xml Soap.SoAPElement userNameElem = utElem.addChildElement ("user name"); userNameEset.Value ("username"); Javax.xml.soap.SOAPElement passwordElem = utElem.addChildElement ("password"); PasswordElem.setAttribute ("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"); PasswordElem.setValue ("password"); Header.setProcessed (true); Finally, add headers to binding. Set Header (Header)  

This code is located in my Binding_ServiceStub class (in its' createCall method).

We created this wsdl both in C # and VB, and there is an easy extension of the proxy class which is easy by changing the client credentials variable. I was hoping for something like this.

Here also there is the security policy with wsdl code.

  & lt; Wsp: policy & gt; & Lt; Sp: UsernameTok: Include token = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" & gt; & Lt; WSP: Policy & gt; & Lt; SP: WssUsernameToken10 / & gt; & Lt; / WSP: Policy & gt; & Lt; / SP: UsernameToken & gt; & Lt; / WSP: Policy & gt; Do anyone know what I can do here? Why is this an exception? I have tried sets and set procedures for several prefixes and set the values ​​(and based on their research of this exception).  

And if anyone knows a way in which to add the SOAP header certification, I'll take that wsdl2java code just that it needs to work and you would think that something like this would be a bit more straightforward or less Less than there will be more examples. Update - confirmed that SOAPUI works properly using the same header? I have created a custom handler to process the SOAP message but did not help whether there is Axis 1.4 and JX-RPC problem? (I know they are old but still ...)

Cool I just got Apache CXF Decided to use it as your profile and using it, it is as easy as

  javax.xml.ws.BindingProvider bp = (javax.xml.ws.BindingProvider) port ; Bp.getRequestContext (). Put ("ws-security.username", user name); Bp.getRequestContext (). Put ("ws-security.password", password);  

Wow is very good Axis 1.4 Lesson learn lessons.


Comments

Popular posts from this blog

ios - How do I use CFArrayRef in Swift? -

eclipse plugin - Run java code error: Workspace is closed -

c - Error on building source code in VC 6 -