ws-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Seletsky <rsele...@unm.edu>
Subject Re: [AXIOM] Migrating Java code from AXIOM 1.2.13 to 1.2.20
Date Mon, 11 Sep 2017 21:09:02 GMT
Thank you Andreas!

Now have:

private OMElement createSecurityHeader(String username, String password) {
      SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
      OMNamespace namespaceWSSE = factory.createOMNamespace(WSSE_NS, WSSE_PREFIX);

      // create the Security header block
      OMElement securityHeader = factory.createOMElement("Security", namespaceWSSE);
      OMAttribute attribute = factory.createOMAttribute("mustUnderstand",
            null, "1");
      securityHeader.addAttribute(attribute);

      // nest the UsernameToken in the Security header
      OMElement usernameTokenElement = factory.createOMElement(USERNAME_TOKEN_LN, namespaceWSSE);
      securityHeader.addChild(usernameTokenElement);

      // nest the Username and Password elements
      OMElement usernameElement = factory.createOMElement(USERNAME_LN, namespaceWSSE);
      usernameElement.setText(username);
      securityHeader.addChild(usernameElement);

      OMElement passwordElement = factory.createOMElement(PASSWORD_LN, namespaceWSSE);
      passwordElement.setText(password);
      OMAttribute attributep = factory.createOMAttribute(PASSWORD_TYPE_ATTR,
            null, PASSWORD_TEXT);
      securityHeader.addAttribute(attributep);
      securityHeader.addChild(passwordElement);

      return securityHeader;
   }
}

But, stepping through original code (Axiom 1.2.13) and the above code (Axiom 1.2.20), I can
see that the original has nested 'FirstChild' structures and the above code does not.

I have looked at http://ws.apache.org/axiom/ , but having difficulty.


Robert
________________________________
From: Andreas Veithen <andreas.veithen@gmail.com>
Sent: Friday, September 8, 2017 4:48:49 PM
To: users@ws.apache.org
Subject: Re: [AXIOM] Migrating Java code from AXIOM 1.2.13 to 1.2.20

On Thu, Sep 7, 2017 at 9:59 PM, Robert Seletsky <rseletsk@unm.edu> wrote:
> Thank You Andreas!
>
> So far I have:
>
> private OMElement createSecurityHeader(String username, String password) {
>
> //OMNamespaceImpl wsseNS = new OMNamespaceImpl(WSSE_NS, WSSE_PREFIX);
> SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
> OMNamespace namespaceWSSE = factory.createOMNamespace(WSSE_NS, WSSE_PREFIX);
> SOAPEnvelope envelope = factory.getDefaultEnvelope();
> //OMFactory factory = new SOAP11Factory();
>
>
> // create the Security header block
> //securityHeader = new OMElementImpl("Security", wsseNS, factory);
> OMElement element = factory.createOMElement("Security", namespaceWSSE);
> OMAttribute attribute = factory.createOMAttribute("mustUnderstand",
>       null, "1");
> element.addAttribute(attribute);
>
> Unsure how to store this in 'envelope'

I don't understand. The original code has no reference to an envelope at all.

> Also what weblinks or books do you recommend?

http://ws.apache.org/axiom/

>
>
> Robert
>
> ________________________________
> From: Andreas Veithen <andreas.veithen@gmail.com>
> Sent: Thursday, September 7, 2017 11:52:55 AM
> To: users@ws.apache.org
> Subject: Re: [AXIOM] Migrating Java code from AXIOM 1.2.13 to 1.2.20
>
> Use OMAbstractFactory.getSOAP11Factory() to get the SOAPFactory instance,
> then rewrite your code to use the factory methods until there are no more
> references to internal implementation classes. The resulting code will then
> work with both Axiom versions.
>
> Andreas
>
>
> On Sep 7, 2017 4:46 PM, "Robert Seletsky" <rseletsk@unm.edu> wrote:
>
> I have the following Java method using AXIOM 1.2.13:
>
> private OMElement createSecurityHeader(String username, String password) {
>       OMNamespaceImpl wsseNS = new OMNamespaceImpl(WSSE_NS, WSSE_PREFIX);
>       OMFactory factory = new SOAP11Factory();
>       OMElementImpl securityHeader;
>       OMElementImpl usernameTokenElement;
>       OMElementImpl usernameElement;
>       OMElementImpl passwordElement;
>
>       // create the Security header block
>       securityHeader = new OMElementImpl("Security", wsseNS, factory);
>       securityHeader.addAttribute("mustUnderstand", "1", null);
>
>       // nest the UsernameToken in the Security header
>       usernameTokenElement = new OMElementImpl(USERNAME_TOKEN_LN, wsseNS,
> securityHeader, factory);
>
>       // nest the Username and Password elements
>       usernameElement = new OMElementImpl(USERNAME_LN, wsseNS,
> usernameTokenElement, factory);
>       usernameElement.setText(username);
>
>       passwordElement = new OMElementImpl(PASSWORD_LN,
> wsseNS,usernameTokenElement, factory);
>       passwordElement.setText(password);
>       passwordElement.addAttribute(PASSWORD_TYPE_ATTR, PASSWORD_TEXT, null);
>
>       return securityHeader;
>    }
> }
>
> I want to migrate this code to work with AXIOM 1.2.20.
>
> Looking for a solution and what resources are recommended to do this in
> general?
>
>
> Robert
> University of New Mexico IT
>
>
>

Mime
View raw message