# Namespace confusion

**URL:** <https://techcommunity.softwareag.com/t/namespace-confusion/195150>\
**Category:** Forum\
**Tags:** Mainframe-Integration, EntireX\
**Created:** [June 14, 2017, 6:16pm UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150 "2017-06-14T18:16:11Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [June 14, 2017, 6:16pm UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150/1 "2017-06-14T18:16:11Z")

</div>

We are exposing three Natural subprograms as web services via SOAP/XML. These three services are invoked by SOA which exposes them to the ultimate client in a composite service. The SOA team is telling me that because the three services define the same WSDL namespace, this is causing issues. They told me this before but resolved it by creating an OSB proxy in front of the service to control the namespace and root element from their side.

Now they want me to fix this. However, I cannot find anywhere that I control the WSDL namespace name in Designer. I can see other namespace definitions that affect the xsd and SOAP namespaces, though.

Thinking I would be clever, I extracted the .aar file, and in the META-INF folder I manually changed the WSDL namespace, saved it, and zipped it back into the \*.aar file but I can’t seem to fool anyone as Tomcat warns:

- Unable to generate WSDL 1.1 for this service If you wish Axis2 to automatically generate the WSDL 1.1, then please set useOriginalwsdl as false in your services.xml 

The namespace in the WSDL file is:

targetNamespace=“[http://namespace.softwareag.com/entirex/xml/mapping](http://namespace.softwareag.com/entirex/xml/mapping)”

I wanted just to update it to something like:

targetNamespace=“[http://namespace.softwareag.com/entirex/xml/mapping/OrderDetails](http://namespace.softwareag.com/entirex/xml/mapping/OrderDetails)”

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [June 14, 2017, 8:37pm UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150/2 "2017-06-14T20:37:25Z")

</div>

[color=#444444]I did as the error message suggested and edited services.xml as well to reference the same targetNamespace and to change the parameter:

 Web Service Vista\_C360\_Query\_Order\_Details [color=red][b]false[/b][/color] true 

But now though I get no error when looking at the deployed service, I don’t see the parameter attributes for the request/response payload.

\<?xml version="1.0" encoding="UTF-8" ?\> 
- \<wsdl:definitions xmlns:wsdl=“[http://schemas.xmlsoap.org/wsdl/](http://schemas.xmlsoap.org/wsdl/)” xmlns:wsaw=“[http://www.w3.org/2006/05/addressing/wsdl](http://www.w3.org/2006/05/addressing/wsdl)” xmlns:mime=“[http://schemas.xmlsoap.org/wsdl/mime/](http://schemas.xmlsoap.org/wsdl/mime/)” xmlns:tns=“[http://namespace.softwareag.com/entirex/xml/mapping/OrderDetails](http://namespace.softwareag.com/entirex/xml/mapping/OrderDetails)” xmlns:http=“[http://schemas.xmlsoap.org/wsdl/http/](http://schemas.xmlsoap.org/wsdl/http/)” xmlns:soap12=“[http://schemas.xmlsoap.org/wsdl/soap12/](http://schemas.xmlsoap.org/wsdl/soap12/)” xmlns:soap=“[http://schemas.xmlsoap.org/wsdl/soap/](http://schemas.xmlsoap.org/wsdl/soap/)” targetNamespace=“[http://namespace.softwareag.com/entirex/xml/mapping/OrderDetails](http://namespace.softwareag.com/entirex/xml/mapping/OrderDetails)”\>  
wsdl:documentationWeb Service Vista\_C360\_Query\_Order\_Details\</wsdl:documentation\>  
\<wsdl:types /\>  
\<wsdl:message name=“OP4100N2Request” /\>  
\<wsdl:message name=“OP4100N2Response” /\>
- \<wsdl:portType name=“Vista\_C360\_Query\_Order\_DetailsPortType”\>
- \<wsdl:operation name=“OP4100N2”\>  
\<wsdl:input message=“tns:OP4100N2Request” wsaw:Action=“urn:OP4100N2” /\>  
\<wsdl:output message=“tns:OP4100N2Response” wsaw:Action=“urn:OP4100N2Response” /\>  
\</wsdl:operation\>  
\</wsdl:portType\>
- \<wsdl:binding name=“Vista\_C360\_Query\_Order\_DetailsSoap11Binding” type=“tns:Vista\_C360\_Query\_Order\_DetailsPortType”\>  
\<soap:binding transport=“[http://schemas.xmlsoap.org/soap/http](http://schemas.xmlsoap.org/soap/http)” style=“document” /\>
- \<wsdl:operation name=“OP4100N2”\>  
\<soap:operation soapAction=“urn:OP4100N2” style=“document” /\>
- wsdl:input  
\<soap:body use=“literal” /\>  
\</wsdl:input\>
- wsdl:output  
\<soap:body use=“literal” /\>  
\</wsdl:output\>  
\</wsdl:operation\>  
\</wsdl:binding\>
- \<wsdl:binding name=“Vista\_C360\_Query\_Order\_DetailsSoap12Binding” type=“tns:Vista\_C360\_Query\_Order\_DetailsPortType”\>  
\<soap12:binding transport=“[http://schemas.xmlsoap.org/soap/http](http://schemas.xmlsoap.org/soap/http)” style=“document” /\>
- \<wsdl:operation name=“OP4100N2”\>  
\<soap12:operation soapAction=“urn:OP4100N2” style=“document” /\>
- wsdl:input  
\<soap12:body use=“literal” /\>  
\</wsdl:input\>
- wsdl:output  
\<soap12:body use=“literal” /\>  
\</wsdl:output\>  
\</wsdl:operation\>  
\</wsdl:binding\>
- \<wsdl:binding name=“Vista\_C360\_Query\_Order\_DetailsHttpBinding” type=“tns:Vista\_C360\_Query\_Order\_DetailsPortType”\>  
\<http:binding verb=“POST” /\>
- \<wsdl:operation name=“OP4100N2”\>  
\<http:operation location=“OP4100N2” /\>
- wsdl:input  
\<mime:content type=“application/xml” part=“parameters” /\>  
\</wsdl:input\>
- wsdl:output  
\<mime:content type=“application/xml” part=“parameters” /\>  
\</wsdl:output\>  
\</wsdl:operation\>  
\</wsdl:binding\>
- \<wsdl:service name=“Vista\_C360\_Query\_Order\_Details”\>
- \<wsdl:port name=“Vista\_C360\_Query\_Order\_DetailsHttpSoap11Endpoint” binding=“tns:Vista\_C360\_Query\_Order\_DetailsSoap11Binding”\>  
\<soap:address location=“[http://wsstack-dev.tcc.etn.com:8081/wsstack/services/Vista\_C360\_Query\_Order\_Details.Vista\_C360\_Query\_Order\_DetailsHttpSoap11Endpoint/](http://wsstack-dev.tcc.etn.com:8081/wsstack/services/Vista_C360_Query_Order_Details.Vista_C360_Query_Order_DetailsHttpSoap11Endpoint/)” /\>  
\</wsdl:port\>
- \<wsdl:port name=“Vista\_C360\_Query\_Order\_DetailsHttpSoap12Endpoint” binding=“tns:Vista\_C360\_Query\_Order\_DetailsSoap12Binding”\>  
\<soap12:address location=“[http://wsstack-dev.tcc.etn.com:8081/wsstack/services/Vista\_C360\_Query\_Order\_Details.Vista\_C360\_Query\_Order\_DetailsHttpSoap12Endpoint/](http://wsstack-dev.tcc.etn.com:8081/wsstack/services/Vista_C360_Query_Order_Details.Vista_C360_Query_Order_DetailsHttpSoap12Endpoint/)” /\>  
\</wsdl:port\>
- \<wsdl:port name=“Vista\_C360\_Query\_Order\_DetailsHttpEndpoint” binding=“tns:Vista\_C360\_Query\_Order\_DetailsHttpBinding”\>  
\<http:address location=“[http://wsstack-dev.tcc.etn.com:8081/wsstack/services/Vista\_C360\_Query\_Order\_Details.Vista\_C360\_Query\_Order\_DetailsHttpEndpoint/](http://wsstack-dev.tcc.etn.com:8081/wsstack/services/Vista_C360_Query_Order_Details.Vista_C360_Query_Order_DetailsHttpEndpoint/)” /\>  
\</wsdl:port\>  
\</wsdl:service\>  
\</wsdl:definitions\>

I must be doing something wrong in this approach, which doesn’t surprise me, and I am hoping that there is a way to do what I want within Designer itself.

---

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [June 14, 2017, 9:22pm UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150/3 "2017-06-14T21:22:10Z")

</div>

A final update for today… I tried going back to where the XMM was generated and put in the namespace URI as the one I wanted, but it doesn’t change the WSDL targetNamespace - just the xsd:schema targetNamespace, which was never an issue.

---

<div class="post-metadata">

**Author:** ![Finn\_the\_Dane1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/finn_the_dane1/32/132_2.png) [@Finn\_the\_Dane1](https://techcommunity.softwareag.com/u/Finn_the_Dane1)\
**Post date:** [June 15, 2017, 9:10am UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150/4 "2017-06-15T09:10:56Z")

</div>

Hi Brian  
If you select the Mapping Parameters tab in the “XMM editor” and scroll down, you will see ALL namespaces.  
Finn

---

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [June 15, 2017, 12:47pm UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150/5 "2017-06-15T12:47:08Z")

</div>

Hi Finn,

I would have thought so, but when I look at that panel in Designer, it appears that the namespaces governing the SOAP message are there but to the exclusion of the overall WSDL targetNamespace.

This one is seen on the first line:

\<?xml version="1.0" encoding="UTF-8"?\>

The namespaces that are defined in the XMM editor in the Mapping Parameters tab under Namespace Definitions include:

m - urn:com-softwareag-entirex-rpc:%l-%p  
SOAP-ENC - [http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)  
SOAP-ENV - [http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)  
xsd - [XML Schema](http://www.w3.org/2001/XMLSchema)  
xsi - [http://www.w3.org/2001/XMLSchema-instance](http://www.w3.org/2001/XMLSchema-instance)

None of these seem to be for the wsdl-level targetNamespace itself.

-Brian

---

<div class="post-metadata">

**Author:** ![Finn\_the\_Dane1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/finn_the_dane1/32/132_2.png) [@Finn\_the\_Dane1](https://techcommunity.softwareag.com/u/Finn_the_Dane1)\
**Post date:** [June 15, 2017, 3:04pm UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150/6 "2017-06-15T15:04:16Z")

</div>

I’m not sure I really understand this yet…

When I generate a wsdl with three subprogs I only get the two …/xml/mapping namespaces in the header for the wsdl

- not one for each subprog ?!

But could you supply the error that the SOA team gets ?

- and what tools are they using ?

Finn

---

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [June 15, 2017, 3:51pm UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150/7 "2017-06-15T15:51:29Z")

</div>

Finn,

You are a genius! You gave me the answer I needed (even if you don’t realize it).

I was generating three different services - one for each subprogram. The SOA team (we use the Oracle SOA Suite) is making a composite of two of the three that they publish to their end-client. Your answer made it clear to me that I should generate one WSDL with two operations instead of two different WSDLs. Then there would be just one overall WSDL targetNamespace for this service that the SOA composite service will call.

Thanks for your help!

-Brian

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/techcommunity/original/3X/c/d/cd19967bb605d28a72d77eb83a1cae22f3df2eb8.svg) [@system](https://techcommunity.softwareag.com/u/system)\
**Post date:** [April 2, 2021, 3:38pm UTC](https://techcommunity.softwareag.com/t/namespace-confusion/195150/8 "2021-04-02T15:38:43Z")

</div>


