Skip to Content
0
Former Member
Apr 25, 2014 at 04:10 AM

Issue with WS-I compliance of WSDL in SOAP UI

71 Views

Hi,

I am facing this issue and am unable to figure out a workaround for this.

I have SOAP to Proxy scenario.

In ESR we have used a DTD (doctype) definition to create message structure. It is very large and complex DTD.

In this DTD the namespace is not declared (which I think not required as well in general).

ID is configured properly and it is working fine end to end when testing with SOAP UI.

The issue is when I expose the Webservice to third party they cant import WSDL citing non-compliance to WS-I.

I too checked compliance in SOAP UI and as it turns out that it is not compliant.

I investigated the issue and found that its all because of missing field targetNamespace in <xsd:schema>.

I think it is because the namespace has not been declared in DTD.

Can someone please help with below things:

i) Making it WS-I compliant without adding namespace. (which i think it is not possible)

ii) If I add namespace in WSDL, what should be its value? Namespace where DTD resides in ESR? or there is someother value.

iii) Will this modified WSDL still work after manual changes ? As WSDLs is not editable in sender agreement.

iv) Is xmlAnonymizerbean any help here ?

v) If Needed how to declare and add namespace in a DTD. Will adding namespace in DTD, impact message mapping ?

Let me know if you want any information on this.

PFB the structure for your reference.

<wsdl:definitions name="SI_abc_OUT_Sync" targetNamespace="urn:abc:POD" xmlns:p1="urn:abc:POD" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

<wsdl:types>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> --------> here a field targetNamespace must be present which is not defined in DTD.

<xsd:element name.......

...

......

...

......

</xsd:schema>

...

....

.

.

.