SOAP Proxy problem

77 views
Skip to first unread message

Gunter Otté

unread,
Feb 5, 2021, 7:46:08 AM2/5/21
to membrane-monitor
Hello,

I want to create a proxy for this target:

And my proxy seems to be ok, according the shown XML:

But, when I test with SOAP-UI, it is not working. Get NoHttpResponseException
This indicates that the server was not found, but when I copy/paste the link to my browser (https://xtm-proxy.oneliner.be/project-manager-api/services/v2/projectmanager/XTMWebService?wsdl) I get the expected response (XML).
I compared the returned endpoint XML of my proxy with the one of the target, and they look mostly the same. One thing I can see is that the returned XML of the proxy is starting with this:
<?xml version="1.0"?>
While the original target is starting with this:
<?xml version='1.0' encoding='UTF-8'?>
Could this be the issue?

Thanks for your help!

Gunter

My router config in proxies.xml:
</soapProxy>
<ssl>
<keystore location="../../conf/rui.jks" password="oneliner.be" keyPassword="oneliner.be" />
<truststore location="../../conf/rui.jks" password="oneliner.be" />
</ssl>
</soapProxy>

This is the sample envelope:
   <soapenv:Header/>
   <soapenv:Body>
      <pm:getXTMInfo>
         <loginAPI>
            <client>testClient</client>
            <password>testPassword</password>
            <userId>99</userId>
         </loginAPI>
         <options/>
      </pm:getXTMInfo>
   </soapenv:Body>
</soapenv:Envelope>

This should return:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>Invalid username or password</faultstring>
         <detail>
            <ns2:AuthenticationFault xmlns:ns2="http://pm.v2.webservice.projectmanagergui.xmlintl.com/">Invalid username or password</ns2:AuthenticationFault>
         </detail>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

Gunter Otté

unread,
Feb 5, 2021, 9:56:15 AM2/5/21
to membrane-monitor
I think the problem is here:

Original:
  <wsdl:service name="XTMWebService">
    <wsdl:port name="XTMProjectManagerMTOMWebServicePort" binding="tns:XTMWebServiceSoapBinding">
    </wsdl:port>
  </wsdl:service>

Proxy:
  <wsdl:service name="XTMWebService">
    <wsdl:port name="XTMProjectManagerMTOMWebServicePort" binding="tns:XTMWebServiceSoapBinding">
    </wsdl:port>
  </wsdl:service>

See the difference in soap:address.
Obviously, https is not the same as http:443.
Question is, how can I fix this?

Thanks!

Gunter Otté

unread,
Feb 5, 2021, 10:39:53 AM2/5/21
to membrane-monitor
Hi,

Got a little bit further.
This is working:
<serviceProxy port="80">
<target host="xtm-test.oneliner.be" port="443">
<ssl />
</target>
</serviceProxy>

This is not:
</soapProxy>

Is there something wrong with the wsdl processing? But when I run it through the validator (https://www.wsdl-analyzer.com/) it check out just fine.

Thanks!

Gunter Otté

unread,
Feb 11, 2021, 10:52:19 AM2/11/21
to membrane-monitor
I stopped trying with soapProxy, and concentrated myself on serviceProxy, which is able to do exactly what I want.
I'm not sure what I did wrong with soapProxy, or maybe it is getting depricated, no idea.

Gunter

Reply all
Reply to author
Forward
0 new messages