Problems while calling a WebService with Default-Namespace

Hi,

I have a WebService whose body part contains a namespace declared as default namespace “xmlns=”…“”.

The inner part is the DocStructure forwarded to the implementation.

In 7.1 the provider executes correctly providing the Document without namespace prefixes, but in 9.5 the provider receives the document with (undesired) namespace prefixes “xmlns:” for each element causing the execution to fail as the document is not recognized by the implementation due to the mismatch at the prefix level.

The WS-Provider has been migrated from 7.1 to 9.5 and the Pre-8.2-Compatibility is set to true.

This is currently the only provider having this type of problem out of several providers, but I think that the other providers are using namespaces with real prefixes by design.

Any ideas whats going wrong here?

Regards,
Holger

embedding a xml structure directly inside the WS interface will normally have such issues (not mentioning versioning and performance issue).
I’d suggest (if possible) just use simple a string interface field like: xmlPayload to hold the xml structure.
so whatever in the xml payload won’t interfere with the SOAP envelope.
HTH,

Hi Tong,

thanks for your reply.

Let me provide some more Details:

SOAP Request:


<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"></SOAP-ENV:Header><SOAP-ENV:Body>
<informBillingData xmlns="http://test1.test2.example.com/testData">
  <PlatformReq>
    <emailAddress>some.mail@example.com</emailAddress>
    <sender>ABC</sender>
    <productname>DEF</productname>
    <Filenames>
      <filename>filename.csv</filename>
    </Filenames>
  </PlatformReq>
</informBillingData></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Resulting Message (not working):


<xmlns:PlatformReq>
	<xmlns:emailAddress>some.mail@example.com</xmlns:emailAddress>
	<xmlns:sender>ABC</xmlns:sender>
	<xmlns:productname>DEF</xmlns:productname>
	<xmlns:Filenames>
		<xmlns:filename>filename.csv</xmlns:filename>
	</xmlns:Filenames>
</xmlns:PlatformReq>

Required message:


<PlatformReq>
	<emailAddress>some.mail@example.com</emailAddress>
	<sender>ABC</sender>
	<productname>DEF</productname>
	<Filenames>
		<filename>filename.csv</filename>
	</Filenames>
</PlatformReq>

Unfortunately it will be a lot of work for us if we have to change the WSDL which will be a risk for our current migration project.

Additional Info:

I have build a SoapUI-project for the WSDL and when using the request generated by SoapUI the WS works as intended.

Here is the request from SoapUI:


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inf="http://test1.test2.example.com/testData">
   <soapenv:Header/>
   <soapenv:Body>
      <inf:informBillingData>
         <PlatformReq>
            <emailAddress>some.mail@example.com</emailAddress>
            <sender>ABC</sender>
            <productname>DEF</productname>
            <!--1 or more repetitions:-->
            <Filenames>
               <filename>filename.csv</filename>
            </Filenames>
         </PlatformReq>
      </inf:informBillingData>
   </soapenv:Body>
</soapenv:Envelope>

Regards,
Holger

I have tested the affected WebServices (meanwhile I have detected two more of these in my Application) by creating them on a fresh 9.5 instance from WSDL.

When created directly on 9.5 they are working as expected, but when running the migrated Versions they fail.

Any ideas?

Regards,
Holger