You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Michael Bierenfeld <Mi...@LV1871.de> on 2004/02/10 14:51:35 UTC

Calling Services located behind Reverse Proxy




Hello there,

we are running some services at our internet site behind a reverse proxy.
The konfiguration is as follows

jetty on port 9090
|
apache on port 80 with ProxyPass            /services
http://<adress>:9090/services


This is used by an php webclient  from our intranet behind another proxy.
The Konfig is as follows

apache with mod_php
|
proxy on port 8080     ----------> internet

The php Client looks like this

<!--
*******************************************************************************************************
 -->
<?php

include("SOAP/Client.php");
$http_proxy = array ('proxy_user'=>'user','proxy_pass'=>'password',
'proxy_host'=>'10.1.1.200',
                  'proxy_port'=>'8080');
$wsdl = new SOAP_WSDL("http://<adress>/services/VorsorgeService?wsdl",
$http_proxy);

$soapclient = $wsdl->getProxy();

echo "<b> PROXY established ["; // print_r ($soapclient);
echo "</b><br/>";

$vorsorgeberatung->monatsEinkommen = 25000.0;
$vorsorgeberatung->monatsEinkommenAnzahl = 15.0;
$vorsorgeberatung->bundeslaender = 1;
$vorsorgeberatung->rentenBeginnAlter = 65;
$vorsorgeberatung->versicherungsfreieJahre = 40;
$vorsorgeberatung->alter = 53;
$vorsorgeberatung->anzahlKinder = 0;
$vorsorgeberatung->familienstand = 3;
$vorsorgeberatung->taetigkeitsstatus = 2;

$vorsorgeberatung->versorgungsgradAltersversorgung = 50.0;
$vorsorgeberatung->monatlicheAltersversorgung = 1000.0;
$vorsorgeberatung->altersVorsorgekapital = 10000.0;

$result = $soapclient->calculate ($daten);

echo "result [" ; print_r ($result); echo "] <br>" ;

?>
<!--
*******************************************************************************************************
 -->

The wsdl is received from axis by a normal GET method from
"http://<adress>/services/VorsorgeService?wsdl". But the following POST
Operation to invoke the service goes to

"http://<adress>:9090/services/VorsorgeService"

This is wrong. I think it is somehow related to the wsdl. It contains port
9090. How can I prevent axis to include the port number in the generated
wsdl ?

This wsdl looks like :

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="
http://<adress>:9090/services/VorsorgeService" xmlns="
http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="
http://xml.apache.org/xml-soap" xmlns:impl="
http://<adress>:9090/services/VorsorgeService" xmlns:intf="
http://<adress>:9090/services/VorsorgeService" xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="urn:VorsorgeService"
xmlns:tns2="http://rkfinanz.lv1871.de" xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="
http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
     <schema targetNamespace="urn:VorsorgeService" xmlns="
http://www.w3.org/2001/XMLSchema">
       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
       <complexType name="LvDate">
          <sequence>
            <element name="firstOfMonth" type="xsd:boolean"/>
            <element name="second" type="xsd:int"/>
            <element name="stringMm" nillable="true" type="xsd:string"/>
            <element name="minute" type="xsd:int"/>
            <element name="hour" type="xsd:int"/>
            <element name="stringTt" nillable="true" type="xsd:string"/>
            <element name="empty" type="xsd:boolean"/>
            <element name="stringYyyy" nillable="true" type="xsd:string"/>
            <element name="month" type="xsd:int"/>
            <element name="year" type="xsd:int"/>
            <element name="day" type="xsd:int"/>
          </sequence>
       </complexType>
       <complexType name="Vorsorgeberatung">
          <complexContent>
            <extension base="tns2:FinanzmathematikBase">
               <sequence>
                 <element name="monatsEinkommenAnzahl" nillable="true" type
="xsd:double"/>
                 <element name="pflegeVorsorgekapital" nillable="true" type
="xsd:double"/>
                 <element name="geburtsdatum" nillable="true" type="
tns1:LvDate"/>
                 <element name="pflegeKostenStationaer" nillable="true"
type="xsd:double"/>
                 <element name="witwenVorsorgekapital" nillable="true" type
="xsd:double"/>
                 <element name="hasPflegeHaeuslich" type="xsd:int"/>
                 <element name="pflegeEigenleistungHaeuslich" nillable="
true" type="xsd:double"/>
                 <element name="versorgungsgradWitwenversorgung" nillable="
true" type="xsd:double"/>
                 <element name="alter" nillable="true" type="xsd:int"/>
                 <element name="pflegeEigenleistungStationaer" nillable="
true" type="xsd:double"/>
                 <element name="monatsEinkommen" nillable="true" type="
xsd:double"/>
                 <element name="name" nillable="true" type="xsd:string"/>
                 <element name="familienstand" type="xsd:int"/>
                 <element name="versorgungsgradAltersversorgung" nillable="
true" type="xsd:double"/>
                 <element name="quick" type="xsd:boolean"/>
                 <element name="monatlicheWitwenversorgung" nillable="true"
type="xsd:double"/>
                 <element name="taetigkeitsstatus" type="xsd:int"/>
                 <element name="hasInputNettoeinkommen" type="xsd:int"/>
                 <element name="pflegeStundenHaeuslich" nillable="true"
type="xsd:double"/>
                 <element name="
versorgungsgradErwerbsUnfaehigkeitsversorgung" nillable="true" type="
xsd:double"/>
                 <element name="versicherungsfreieJahre" nillable="true"
type="xsd:int"/>
                 <element name="pflegeKostenProStundenHaeuslich" nillable="
true" type="xsd:double"/>
                 <element name="monatlichePflegeversorgung" nillable="true"
type="xsd:double"/>
                 <element name="jahresEinkommen" nillable="true" type="
xsd:double"/>
                 <element name="angegebenesNettogehalt" nillable="true"
type="xsd:double"/>
                 <element name="bundeslaender" type="xsd:int"/>
                 <element name="vorname" nillable="true" type="xsd:string
"/>
                 <element name="hasBruttoMonatseinkommen" type="xsd:int"/>
                 <element name="hasPflegeStationaer" type="xsd:int"/>
                 <element name="anzahlKinder" nillable="true" type="xsd:int
"/>
                 <element name="rentenBeginnAlter" nillable="true" type="
xsd:int"/>
                 <element name="monatlicheAltersversorgung" nillable="true"
type="xsd:double"/>
                 <element name="erwerbsUnfaehigkeitsVorsorgekapital"
nillable="true" type="xsd:double"/>
                 <element name="kirchensteuersatz" type="xsd:int"/>
                 <element name="altersVorsorgekapital" nillable="true" type
="xsd:double"/>
                 <element name="monatlicheErwerbsUnfaehigkeitsversorgung"
nillable="true" type="xsd:double"/>
               </sequence>
            </extension>
          </complexContent>
       </complexType>
       <complexType name="VorsorgeberatungResult">
          <sequence>
            <element name="resultWitwenrenteVersorgungsluecke55Prozent"
nillable="true" type="xsd:double"/>
            <element name="resultPflegeStationaerSozialversicherung"
nillable="true" type="xsd:double"/>
            <element name="resultPflegeHaeuslichAufwand" nillable="true"
type="xsd:double"/>
            <element name="resultValid" type="xsd:boolean"/>
            <element name="resultWitwenrenteVersorgungsluecke25Prozent"
nillable="true" type="xsd:double"/>
            <element name="resultPflegeHaeuslichSozialversicherung"
nillable="true" type="xsd:double"/>
            <element name="resultPflegeStationaerVersorgungsluecke"
nillable="true" type="xsd:double"/>
            <element name="resultAltersrenteVersorgungsluecke" nillable="
true" type="xsd:double"/>
            <element name="resultErwerbsUnfaehigkeitsSozialversicherungVoll
" nillable="true" type="xsd:double"/>
            <element name="resultPflegeStationaerAufwand" nillable="true"
type="xsd:double"/>
            <element name="resultWitwenrenteSozialversicherung55Prozent"
nillable="true" type="xsd:double"/>
            <element name="resultWitwenrenteSozialversicherung25Prozent"
nillable="true" type="xsd:double"/>
            <element name="resultNettoeinkommen" nillable="true" type="
xsd:double"/>
            <element name="resultAltersrenteSozialversicherung" nillable="
true" type="xsd:double"/>
            <element name="resultErwerbsUnfaehigkeitsVersorgungslueckeVoll"
nillable="true" type="xsd:double"/>
            <element name="resultWitwenrenteVersorgungsluecke60Prozent"
nillable="true" type="xsd:double"/>
            <element name="resultErwerbsUnfaehigkeitsSozialversicherungHalb
" nillable="true" type="xsd:double"/>
            <element name="resultPflegeHaeuslichVersorgungsluecke" nillable
="true" type="xsd:double"/>
            <element name="resultWitwenrenteSozialversicherung60Prozent"
nillable="true" type="xsd:double"/>
            <element name="resultErwerbsUnfaehigkeitsVersorgungslueckeHalb"
nillable="true" type="xsd:double"/>
          </sequence>
       </complexType>
     </schema>
     <schema targetNamespace="http://rkfinanz.lv1871.de" xmlns="
http://www.w3.org/2001/XMLSchema">
       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
       <complexType abstract="true" name="FinanzmathematikBase">
          <sequence/>
       </complexType>
     </schema>
  </wsdl:types>
  <wsdl:message name="serviceMethodRequest">
     <wsdl:part name="arg" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="serviceMethodResponse">
     <wsdl:part name="serviceMethodReturn" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="calculateRequest">
     <wsdl:part name="vorsorgeberatung" type="tns1:Vorsorgeberatung"/>
  </wsdl:message>
  <wsdl:message name="calculateResponse">
     <wsdl:part name="calculateReturn" type="tns1:VorsorgeberatungResult"/>
  </wsdl:message>
  <wsdl:portType name="VorsorgeService">
     <wsdl:operation name="calculate" parameterOrder="vorsorgeberatung">
       <wsdl:input message="impl:calculateRequest" name="calculateRequest
"/>
       <wsdl:output message="impl:calculateResponse" name="
calculateResponse"/>
     </wsdl:operation>
     <wsdl:operation name="serviceMethod" parameterOrder="arg">
       <wsdl:input message="impl:serviceMethodRequest" name="
serviceMethodRequest"/>
       <wsdl:output message="impl:serviceMethodResponse" name="
serviceMethodResponse"/>
     </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="VorsorgeServiceSoapBinding" type="
impl:VorsorgeService">
     <wsdlsoap:binding style="rpc" transport="
http://schemas.xmlsoap.org/soap/http"/>
     <wsdl:operation name="calculate">
       <wsdlsoap:operation soapAction=""/>
       <wsdl:input name="calculateRequest">
          <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="
http://services.lv1871.de" use="encoded"/>
       </wsdl:input>
       <wsdl:output name="calculateResponse">
          <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="
http://<adress>:9090/services/VorsorgeService" use="encoded"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="serviceMethod">
       <wsdlsoap:operation soapAction=""/>
       <wsdl:input name="serviceMethodRequest">
          <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="
http://services.lv1871.de" use="encoded"/>
       </wsdl:input>
       <wsdl:output name="serviceMethodResponse">
          <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="
http://<adress>:9090/services/VorsorgeService" use="encoded"/>
       </wsdl:output>
     </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="VorsorgeServiceService">
     <wsdl:port binding="impl:VorsorgeServiceSoapBinding" name="
VorsorgeService">
       <wsdlsoap:address location="
http://<adress>:9090/services/VorsorgeService"/>
     </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

Sorry for including the complete wsdl but I do not know exactly which parts
of it are used to find the adress for the POST operation.


Kind regards


Michael