WSDL soap:adress location - Replace beeinflussen

Herr_M

Erfahrenes Mitglied
Hallo Zusammen,

Ich arbeite gerade an einem Webservice und einem dazugehörigen Client-Programm.
Im lokalen Test (also auf localhost) funktioniert alles soweit ganz wunderbar.

Wenn ich den Webservice dann auf dem System laufen lasse, auf dem er später produktiv eingesetzt werden soll, gibt es ein kleines Problem mit den IP Adressen.

Der Server auf dem der Webservice deployed wird, besitzt zwei IP Adressen, eine für interne Zwecke und eine für die Kommunikation mit der Außenwelt (also dem Netzwerk).

Beispiel Interne: 1.1.1.1
Beispiel externe: 192.168.0.1

Noch zur Info, der Webservice wurde mit wsdl2java von Axis2 aus der WSDL generiert.
Als Application Server verwende ich einen JBOSS 4.0.5.GA (die Version ist Vorgabe und kann nicht geändert werden)

Die WSDL vor dem Deployment auf dem Server. (so wie sie ins EAR File gepackt wird)

Code:
<service name="ReportHandlerService">
    <port name="ReportHandlerSoapPort" binding="tns:ReportHandlerSoapBinding">
      <soap:address location="http://hostadress/WSServer2/ReportHandlerService"/>
    </port>
  </service>

Die WSDL wie sie vom Webservice ausgeliefert wird.

Code:
<service name="ReportHandlerService">
    <port name="ReportHandlerSoapPort" binding="tns:ReportHandlerSoapBinding">
      <soap:address location="http:// 1.1.1.1/WSServer2/ReportHandlerService"/>
    </port>
  </service>

Leider ersetzt der Webservice die soap:adress durch die interne IP und nicht durch die externe. Wie kann ich beinflussen, welche Adresse hier eingetragen und dann an den anfragenden Client ausgegeben wird?

So sollte es sein.

Code:
<service name="ReportHandlerService">
    <port name="ReportHandlerSoapPort" binding="tns:ReportHandlerSoapBinding">
      <soap:address location="http:// 192.168.0.1/WSServer2/ReportHandlerService"/>
    </port>
  </service>
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück