Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Axis Change soap:address

Tags:

java

axis

I've a Apache2 HTTP Server this server is avaliable to external networks. For my webservices I've a Jboss 4 in a internal network. I configured VirtualHosts on Apache with DMZ, so I can access the services from external hosts by http://externalserver/services/SomeService?wsdl, and when requests arraive with /services/* I'm redirect the request to http://internalserver/services/SomeService?wsdl by ProxyPass.

This working on intranet, but when I try consume my webservice from a external host, my wsdl refers to internal host. I've something like this:

<service name="SomeServiceService">
    <port binding="tns:SomeServiceBinding" name="SomeServicePort">
         <soap:address location="http://internalserver/services/SomeService"/>
    </port>
</service>

I need to change the location attribute in my generated wsdl, How can I do it?

Thanks in advance.

EDITED:

I can change host and port I edited the jboss-beans.xml, Now I've something like this:

<property name="webServiceHost">${jboss.bind.address}</property>
<property name="modifySOAPAddress">true</property>
<property name="webServiceSecurePort">8443</property>
<property name="webServicePort">8080</property>

But this don't change the protocol, I can call http://myapp/Service?wsdl or https://myapp/Service?wsdl but in both the addres is http, I need change it to https.

like image 769
Lucas Merencia Avatar asked Dec 19 '12 11:12

Lucas Merencia


1 Answers

According to this post you can set soap:address to something like "https://REPLACE-ME as a work around, or enforce CONFIDENTIAL transport Guarantee (which may break your intranet services, unless you also deploy it in a https enabled server or replace the soap:address manually).

like image 88
Anthony Accioly Avatar answered Oct 12 '22 08:10

Anthony Accioly