E9.2 Consumer BSSV generating XML payload with namespace prefix missing for request parameters

PawPatrol

Member
JD Edwards EnterpriseOne, Application Release E920 , Tools Release 9.2.5.1

I have created a custom BSSV object using JAX-WS to consume a SOAP API. I created a proxy using the WSDL link provided to me. The proxy folder has a "....porttype.java" file that contains information about request wrapper, response wrapper and their namespaces, also the parameter namespaces.
I test this proxy by assigning parameter values to java variables and passing the variables into a call to xxxport.concernedMethod(inpurvar1, inputvar2, and so on)
I get a fault string exception from the server due to the missing namespace prefix for the request parameters. The reason is faulty XML payload generated by my BSSV class.
I see the XML payload in the log, it has namespace prefix missing for the request parameters(image attached).
If I manually add the missing "ns0" prefix for my XML payload and re-run the request via SoapUI, it works correctly.

Any ideas as to why my BSSV class is adding the namespace prefix correctly to the request wrapper tags ( <ns0 : paymentInstrumentRequest....> and </<ns0 : paymentInstrumentRequest> ), but not adding it to the request parameter tags?
Is the BSSV class code missing something? or is the WSDL XSD faulty?
 

Attachments

  • FaultyXMLPayload.JPG
    FaultyXMLPayload.JPG
    136.7 KB · Views: 26
  • PortTypejavaimage.JPG
    PortTypejavaimage.JPG
    81.4 KB · Views: 23
Hi PawPatrol,

Recently, I've integrated JDE with Salesforce and we had any problems with namespaces and others. So, as solution I used wsimport command to generate wsdl in a jar java package, later import jar into jdeveloper project and works a extenal class. I recommend you looking, there are a lot info about it:

https://docs.oracle.com/javase/7/docs/technotes/tools/share/wsimport.html

https://www.ibm.com/support/knowled...ere.base.doc/ae/twbs_jaxwsclientfromwsdl.html

https://www.ibm.com/support/knowled....ibm.websphere.base.doc/ae/rwbs_wsimport.html

https://mkyong.com/webservices/jax-ws/jax-ws-wsimport-tool-example/

And in my blog (sorry i haven't had time to translate to english yet)

Best regards.
 
Thanks alfredorz.
I traversed the SOAPrequest and added the missing prefixes in the java code of soapHeaderHandler class.
Later, it was brought to my attention that using a customizationFile.xml in the proxy creation wizard (as explained in "Business Services Development
Guide , Release 9.2") will create the correct proxy, that doesn't mess up the namespaces.
 
Back
Top