Configuring the SOAP Address in OracleAS Web Services
When a JAX-RPC service is developped using OracleAS 10g R3 stack, the
service URL http://server:port/context/serviceName,
provide access to a test page and to the WSDL by adding the ?wsdl parameter to the URL. You
can then use this URL to create services client with your tools of
choice.
If you take a look to the WSDL, the SOAP address of the SOAP HTTP
Port is dynamically generated based on the calling URL, for example
if you have a service running on your machine:
http://127.0.0.1:8888/math-service/MathServiceSoapHttpPort?WSDL
will generate the following information in the WSDL
<service name="MathService">
<port name="MathServiceSoapHttpPort" binding="tns:MathServiceSoapHttp">
<soap:address location="http://127.0.0.1:8888/math-service/MathServiceSoapHttpPort"/>
</port>
</service>
But if you are using another URL, for example the name of the computer:
http://tgrall-computer:8888/math-service/MathServiceSoapHttpPort?WSDL
will generate:
<service name="MathService">
<port name="MathServiceSoapHttpPort" binding="tns:MathServiceSoapHttp">
<soap:address location="http://tgrall-computer:8888/math-service/MathServiceSoapHttpPort"/>
</port>
</service>
However in some case you may want to hard code this value to
a specific location,for example to be sure that user will use the
internet visible name, (no IP or intranet name), to do such thing you
can use the oracle-webservice.xml
file and th <web-site>
tag. This deployment descriptor is used to configure the service at
runtime. In the following example I am forcing the service to use a new
hostname and port:
<oracle-webservices xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" .... >
<web-site host="www.grallandco.com" port="80" />
<webservice-description name="MathService">
...
...
</webservice-description>
</oracle-webservices>...
This element and all other Oracle Web Services configuration elements are documented in the Oracle Web Service Developer Guide.
No comments:
Post a Comment