webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  Soap Body namespaces

    Posted Wed August 19, 2009 06:15 PM

    Hello,

    On wM 7.1.2 we have following problem: We call a WebService and get a valid response, but we have in the response document a namespace that resides within the soap-env:Body (And it’s not defined in the soap-env:Envelope).

    Now, this namespace is used for the root element in the Body and thus has a prefix. Now, this prefix can normally be chosen freely. (As long as the namespaces match). But, webMethods doesn’t parse the namespace. It just copies the field with whatever prefix is used in the response. As a result, we can’t map the document as we don’t know what prefix will be used. When checking with an external tool (SoapUI) it does validate correctly. So the WebService itself is allowed to define namespaces within the soap-env:Body I assume.

    What would be the best approach for this issue?

    As information the response document, the problematic prefix is in this case “sapgdt”:

    <soap-env:Envelope xmlns:soap-env="[URL]http://schemas.xmlsoap.org/soap/envelope/[/URL]">
    <soap-env:Header/>
    <soap-env:Body>
    <sapgdt:CancelPostingLockDocumentConfirmation_sync 
    xmlns:sapgdt="[URL]http://sap.com/xi/SAPGlobal/GDT[/URL]" 
    xmlns:prx="urn:sap.com:proxy:DB1:/1SAI/TXS53B8F5E9F837CD54A1A6:710:2008/06/25">
    <MessageHeader>
    <CreationDateTime>2009-07-14T21:45:43.12Z</CreationDateTime>
    </MessageHeader>
    <Log>
    <Item>
    <TypeID>BCA_DEH</TypeID>
    <Note>PLM document 276 is currently locked by user C01215</Note>
    </Item>
    <Item>
    <TypeID>BAPI</TypeID>
    <Note>Instance 000000000276 of object type PostingLockItem could not be changed</Note>
    </Item>
    </Log>
    </sapgdt:CancelPostingLockDocumentConfirmation_sync>
    </soap-env:Body>
    </soap-env:Envelope>

    #soa
    #API-Management
    #webMethods


  • 2.  RE: Soap Body namespaces

    Posted Wed August 19, 2009 07:47 PM

    you said that “sapgtd” namespace is not fixed why? as “d” indicates development ns? Is that not defined in the original WSDL and based on this the WSD doctypes should have created with sapgdt:CancelPostingLockDocumentConfirmation_sync

    When you use step xmlNodeToDocument(set nsDecls) -
    Namespace prefixes to use for the conversion.and tried this out.

    HTH,
    RMG


    #webMethods
    #API-Management
    #soa