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 p....@almerys.com on 2007/07/16 10:17:34 UTC

RE RE [AXIS2]Accessing webservice through multiple addresses

Here is theinteresting part of the wsdl file and the services.xml of my 
web service:
Servicetest.wsdl:
  <wsdl:service name="ServiceTest">
    <wsdl:port name="ServiceTest_services" binding=
"tns:WebServiceTestSoapBinding">
      <wsdlsoap:address location=
"http://192.168.31.156:9080/Dev/services/ServiceTest"/>
    </wsdl:port>
    <wsdl:port name="ServiceTest_server" binding=
"tns:WebServiceTestSoapBinding">
      <wsdlsoap:address location=
"http://192.168.31.156:9080/Dev/serverAuthent/ServiceTest"/>
    </wsdl:port>
    <wsdl:port name="ServiceTest_client" binding=
"tns:WebServiceTestSoapBinding">
            <wsdlsoap:address location=
"http://192.168.31.156:9080/Dev/clientAuthent/ServiceTest"/>
    </wsdl:port>
  </wsdl:service>

services.xml:
<service name="ServiceTest">
                <Description>Web service test</Description>
                <module ref="trace"/>
                <module ref="header_v2"/>
                <module ref="dsig"/>
                <messageReceivers>
                        <messageReceiver mep=
"http://www.w3.org/ns/wsdl/in-out" class="ServiceTestMessageReceiverInOut"
/>
                </messageReceivers>
                <parameter locked="false" name="ServiceClass">
ServiceTestSkeleton</parameter>
                <parameter locked="false" name="useOriginalwsdl">true</
parameter>
                <parameter locked="false" name="modifyUserWSDLPortAddress"
>false</parameter>
                <operation name="getTest" mep=
"http://www.w3.org/ns/wsdl/in-out">
                        <actionMapping>
http://localhost/services/ServiceTest/getTest</actionMapping>
                        <outputActionMapping>
http://localhost/services/ServiceTest/Test/getTestResponse</
outputActionMapping>
                </operation>
        </service>

When I'm logging in the admin page, and list the available services, the 
Service Test has always the same Service EPR:
http://localhost:9080/fsaDev/services/ServiceTest 

If I'm calling getEPRsForService I'm also getting only this EPR.

What an I doing wrong?

Thanks in advance,

Pierre Casenove




p.casenove@almerys.com 
13/07/2007 15:13
Veuillez répondre à
axis-user@ws.apache.org


A
axis-user@ws.apache.org
cc

Objet
RE [AXIS2]Accessing webservice through multiple addresses







Hi again, 
Juste to be more precise (It's been a long time I'm working on this issue, 
I've been quite quick in my first email): 
my web.xml defines my servlet, extending AxisServlet: 
<servlet-name>FSAServlet</servlet-name> 
and the corresponding mapping: 
<servlet-mapping> 
                <servlet-name>FSAServlet</servlet-name> 
                <url-pattern>/serverAuthent/*</url-pattern> 
        </servlet-mapping> 

        <servlet-mapping> 
        <servlet-name>FSAServlet</servlet-name> 
        <url-pattern>/services/*</url-pattern> 
    </servlet-mapping> 
 
          <servlet-mapping> 
                <servlet-name>FSAServlet</servlet-name> 
                <url-pattern>/servlet/FSAServlet</url-pattern> 
        </servlet-mapping> 
 
    <servlet-mapping> 
                <servlet-name>FSAServlet</servlet-name> 
                <url-pattern>/clientAuthent/*</url-pattern> 
        </servlet-mapping> 

This allows under Axis1 to have its webservices reachable from the three 
access URLs. 
But on Axis2, when I'm logging in to the admin pages-> Available Services, 
I see the deployes services with Service EPR: 
Service EPR : http://localhost:9080/fsaDev/services/SGPAWebService_0.0.1 

How can I define three different Service EPR for each webservice? I've 
been looking around services.xml; web.xml and axis2.xml with no chance.... 
I can't use ws:addressing as some of the clients doesn't implement it. 
I'm surely missing a concept. 

Thanks in advance for your help, 

Pierre Casenove 



p.casenove@almerys.com 
13/07/2007 11:15 

Veuillez répondre à
axis-user@ws.apache.org


A
axis-user@ws.apache.org 
cc

Objet
[AXIS2]Accessing webservice through multiple addresses









Hello, 
I am working on the migration from AXIS1 to AXIS2 of webservices. 
These are currently accessed through 3 different addresses: 
http://hostname/services/* 
https://hostname/serverAuthent/* 
https://hostname/clientAuthent/* 
It works flowlessly with AXIS1 but with AXIS2, only the first address is 
working. 
The two others gives me : [WebContainer : 0] 2007-07-13 10:39:34,603 DEBUG 
Servlet.java [handleFault] org.apache.axis2.AxisFault: The service cannot 
be found for the endpoint reference (EPR) 

How can I configure multiple EPR for my webservices in Axis2? 
Thanks in advance, 

Pierre Casenove 

Re: RE RE [AXIS2]Accessing webservice through multiple addresses

Posted by p....@almerys.com.
Hi,
I have my own defined servlet extending AxisServlet.
When calling getEPRsForService("ServiceTest","192.168.31.156"), only one 
EPR for this service is returned, whereas multiple ports are defined in my 
wsdl file ofr my web service.

Pierre




Deepal Jayasinghe <de...@opensource.lk> 
16/07/2007 10:49
Veuillez répondre à
axis-user@ws.apache.org


A
axis-user@ws.apache.org
cc

Objet
Re: RE RE [AXIS2]Accessing webservice through multiple addresses






Hi ,
>
> Hi,
> Thanks for the answer. I'll have to stick with AXIS1 for the moment so.
> Why does TransportListener offers method getEPRsForService(),
> returning an array of EPR, if on server side only one EPR can be
> generated by AXIS2?
I think you talking abt the web application , yes there we list only one
EPR. But you can invoke the service using any epr you get from
getEPRsForService(). That is just a limitation in Web admin module.

Thanks
Deepal
>
> Pierre



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org



Re: RE RE [AXIS2]Accessing webservice through multiple addresses

Posted by Deepal Jayasinghe <de...@opensource.lk>.
Hi ,
>
> Hi,
> Thanks for the answer. I'll have to stick with AXIS1 for the moment so.
> Why does TransportListener offers method getEPRsForService(),
> returning an array of EPR, if on server side only one EPR can be
> generated by AXIS2?
I think you talking abt the web application , yes there we list only one
EPR. But you can invoke the service using any epr you get from
getEPRsForService(). That is just a limitation in Web admin module.

Thanks
Deepal
>
> Pierre



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: RE RE [AXIS2]Accessing webservice through multiple addresses

Posted by p....@almerys.com.
Hi,
Thanks for the answer. I'll have to stick with AXIS1 for the moment so.
Why does TransportListener offers method getEPRsForService(), returning an 
array of EPR, if on server side only one EPR can be generated by AXIS2?

Pierre




Deepal Jayasinghe <de...@opensource.lk> 
16/07/2007 10:24
Veuillez répondre à
axis-user@ws.apache.org


A
axis-user@ws.apache.org
cc

Objet
Re: RE RE [AXIS2]Accessing webservice through multiple addresses






Hi ,
Though you have multiple EPR in the wsdl , at the server side Axis2 will
ignore all those and generate its own epr based on
 - Available transports
 - IP and Port
- Service name

That is why you have faced such an issue , may be we will be able to
solve that issue but not for 1.3, so please create a JIRA.

Thanks
Deepal


p.casenove@almerys.com wrote:
>
> Here is theinteresting part of the wsdl file and the services.xml of
> my web service:
> Servicetest.wsdl:
>   <wsdl:service name="ServiceTest">
>     <wsdl:port name="ServiceTest_services"
> binding="tns:WebServiceTestSoapBinding">
>       <wsdlsoap:address
> location="http://192.168.31.156:9080/Dev/services/ServiceTest"/>
>     </wsdl:port>
>     <wsdl:port name="ServiceTest_server"
> binding="tns:WebServiceTestSoapBinding">
>       <wsdlsoap:address
> location="http://192.168.31.156:9080/Dev/serverAuthent/ServiceTest"/>
>     </wsdl:port>
>     <wsdl:port name="ServiceTest_client"
> binding="tns:WebServiceTestSoapBinding">
>             <wsdlsoap:address
> location="http://192.168.31.156:9080/Dev/clientAuthent/ServiceTest"/>
>     </wsdl:port>
>   </wsdl:service>
>
> services.xml:
> <service name="ServiceTest">
>                 <Description>Web service test</Description>
>                 <module ref="trace"/>
>                 <module ref="header_v2"/>
>                 <module ref="dsig"/>
>                 <messageReceivers>
>                         <messageReceiver
> mep="http://www.w3.org/ns/wsdl/in-out"
> class="ServiceTestMessageReceiverInOut"/>
>                 </messageReceivers>
>                 <parameter locked="false"
> name="ServiceClass">ServiceTestSkeleton</parameter>
>                 <parameter locked="false"
> name="useOriginalwsdl">true</parameter>
>                 <parameter locked="false"
> name="modifyUserWSDLPortAddress">false</parameter>
>                 <operation name="getTest"
> mep="http://www.w3.org/ns/wsdl/in-out">
> 
> 
<actionMapping>http://localhost/services/ServiceTest/getTest</actionMapping>
>
> 
> 
<outputActionMapping>http://localhost/services/ServiceTest/Test/getTestResponse</outputActionMapping>
>
>                 </operation>
>         </service>
>
> When I'm logging in the admin page, and list the available services,
> the Service Test has always the same Service EPR:
> http://localhost:9080/fsaDev/services/ServiceTest
>
> If I'm calling getEPRsForService I'm also getting only this EPR.
>
> What an I doing wrong?
>
> Thanks in advance,
>
> Pierre Casenove
>
>
>
> *p.casenove@almerys.com*
>
> 13/07/2007 15:13
> Veuillez répondre à
> axis-user@ws.apache.org
>
>
> 
> A
>                axis-user@ws.apache.org
> cc
> 
> Objet
>                RE [AXIS2]Accessing webservice through multiple addresses
>
>
>
> 
>
>
>
>
>
>
> Hi again,
> Juste to be more precise (It's been a long time I'm working on this
> issue, I've been quite quick in my first email):
> my web.xml defines my servlet, extending AxisServlet:
> <servlet-name>FSAServlet</servlet-name>
> and the corresponding mapping:
> <servlet-mapping>
>                <servlet-name>FSAServlet</servlet-name>
>                <url-pattern>/serverAuthent/*</url-pattern>
>        </servlet-mapping>
>
>        <servlet-mapping>
>        <servlet-name>FSAServlet</servlet-name>
>        <url-pattern>/services/*</url-pattern>
>    </servlet-mapping>
> 
>          <servlet-mapping>
>                <servlet-name>FSAServlet</servlet-name>
>                <url-pattern>/servlet/FSAServlet</url-pattern>
>        </servlet-mapping>
> 
>    <servlet-mapping>
>                <servlet-name>FSAServlet</servlet-name>
>                <url-pattern>/clientAuthent/*</url-pattern>
>        </servlet-mapping>
>
> This allows under Axis1 to have its webservices reachable from the
> three access URLs.
> But on Axis2, when I'm logging in to the admin pages-> Available
> Services, I see the deployes services with Service EPR:
> Service EPR : http://localhost:9080/fsaDev/services/SGPAWebService_0.0.1
>
> How can I define three different Service EPR for each webservice? I've
> been looking around services.xml; web.xml and axis2.xml with no
> chance.... I can't use ws:addressing as some of the clients doesn't
> implement it.
> I'm surely missing a concept.
>
> Thanks in advance for your help,
>
> Pierre Casenove
>
>
> *p.casenove@almerys.com*
>
> 13/07/2007 11:15
> Veuillez répondre à
> axis-user@ws.apache.org
>
> 
> A
>                axis-user@ws.apache.org
> cc
> 
> Objet
>                [AXIS2]Accessing webservice through multiple addresses
>
>
>
>
> 
>
>
>
>
>
>
>
> Hello,
> I am working on the migration from AXIS1 to AXIS2 of webservices.
> These are currently accessed through 3 different addresses:
> http://hostname/services/*
> https://hostname/serverAuthent/*
> https://hostname/clientAuthent/*
>
> It works flowlessly with AXIS1 but with AXIS2, only the first address
> is working.
> The two others gives me : [WebContainer : 0] 2007-07-13 10:39:34,603
> DEBUG Servlet.java [handleFault] org.apache.axis2.AxisFault: The
> service cannot be found for the endpoint reference (EPR)
>
> How can I configure multiple EPR for my webservices in Axis2?
> Thanks in advance,
>
> Pierre Casenove
>

-- 
Thanks,
Deepal
................................................................
"The highest tower is built one brick at a time"



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org



Re: RE RE [AXIS2]Accessing webservice through multiple addresses

Posted by Deepal Jayasinghe <de...@opensource.lk>.
Hi ,
Though you have multiple EPR in the wsdl , at the server side Axis2 will
ignore all those and generate its own epr based on
 - Available transports
 - IP and Port
- Service name

That is why you have faced such an issue , may be we will be able to
solve that issue but not for 1.3, so please create a JIRA.

Thanks
Deepal


p.casenove@almerys.com wrote:
>
> Here is theinteresting part of the wsdl file and the services.xml of
> my web service:
> Servicetest.wsdl:
>   <wsdl:service name="ServiceTest">
>     <wsdl:port name="ServiceTest_services"
> binding="tns:WebServiceTestSoapBinding">
>       <wsdlsoap:address
> location="http://192.168.31.156:9080/Dev/services/ServiceTest"/>
>     </wsdl:port>
>     <wsdl:port name="ServiceTest_server"
> binding="tns:WebServiceTestSoapBinding">
>       <wsdlsoap:address
> location="http://192.168.31.156:9080/Dev/serverAuthent/ServiceTest"/>
>     </wsdl:port>
>     <wsdl:port name="ServiceTest_client"
> binding="tns:WebServiceTestSoapBinding">
>             <wsdlsoap:address
> location="http://192.168.31.156:9080/Dev/clientAuthent/ServiceTest"/>
>     </wsdl:port>
>   </wsdl:service>
>
> services.xml:
> <service name="ServiceTest">
>                 <Description>Web service test</Description>
>                 <module ref="trace"/>
>                 <module ref="header_v2"/>
>                 <module ref="dsig"/>
>                 <messageReceivers>
>                         <messageReceiver
> mep="http://www.w3.org/ns/wsdl/in-out"
> class="ServiceTestMessageReceiverInOut"/>
>                 </messageReceivers>
>                 <parameter locked="false"
> name="ServiceClass">ServiceTestSkeleton</parameter>
>                 <parameter locked="false"
> name="useOriginalwsdl">true</parameter>
>                 <parameter locked="false"
> name="modifyUserWSDLPortAddress">false</parameter>
>                 <operation name="getTest"
> mep="http://www.w3.org/ns/wsdl/in-out">
>                        
> <actionMapping>http://localhost/services/ServiceTest/getTest</actionMapping>
>
>                        
> <outputActionMapping>http://localhost/services/ServiceTest/Test/getTestResponse</outputActionMapping>
>
>                 </operation>
>         </service>
>
> When I'm logging in the admin page, and list the available services,
> the Service Test has always the same Service EPR:
> http://localhost:9080/fsaDev/services/ServiceTest
>
> If I'm calling getEPRsForService I'm also getting only this EPR.
>
> What an I doing wrong?
>
> Thanks in advance,
>
> Pierre Casenove
>
>
>
> *p.casenove@almerys.com*
>
> 13/07/2007 15:13
> Veuillez répondre à
> axis-user@ws.apache.org
>
>
> 	
> A
> 	axis-user@ws.apache.org
> cc
> 	
> Objet
> 	RE [AXIS2]Accessing webservice through multiple addresses
>
>
>
> 	
>
>
>
>
>
>
> Hi again,
> Juste to be more precise (It's been a long time I'm working on this
> issue, I've been quite quick in my first email):
> my web.xml defines my servlet, extending AxisServlet:
> <servlet-name>FSAServlet</servlet-name>
> and the corresponding mapping:
> <servlet-mapping>
>                <servlet-name>FSAServlet</servlet-name>
>                <url-pattern>/serverAuthent/*</url-pattern>
>        </servlet-mapping>
>
>        <servlet-mapping>
>        <servlet-name>FSAServlet</servlet-name>
>        <url-pattern>/services/*</url-pattern>
>    </servlet-mapping>
>    
>          <servlet-mapping>
>                <servlet-name>FSAServlet</servlet-name>
>                <url-pattern>/servlet/FSAServlet</url-pattern>
>        </servlet-mapping>
>    
>    <servlet-mapping>
>                <servlet-name>FSAServlet</servlet-name>
>                <url-pattern>/clientAuthent/*</url-pattern>
>        </servlet-mapping>
>
> This allows under Axis1 to have its webservices reachable from the
> three access URLs.
> But on Axis2, when I'm logging in to the admin pages-> Available
> Services, I see the deployes services with Service EPR:
> Service EPR : http://localhost:9080/fsaDev/services/SGPAWebService_0.0.1
>
> How can I define three different Service EPR for each webservice? I've
> been looking around services.xml; web.xml and axis2.xml with no
> chance.... I can't use ws:addressing as some of the clients doesn't
> implement it.
> I'm surely missing a concept.
>
> Thanks in advance for your help,
>
> Pierre Casenove
>
>
> *p.casenove@almerys.com*
>
> 13/07/2007 11:15
> Veuillez répondre à
> axis-user@ws.apache.org
>
> 	
> A
> 	axis-user@ws.apache.org
> cc
> 	
> Objet
> 	[AXIS2]Accessing webservice through multiple addresses
>
>
>
>
> 	
>
>
>
>
>
>
>
> Hello,
> I am working on the migration from AXIS1 to AXIS2 of webservices.
> These are currently accessed through 3 different addresses:
> http://hostname/services/*
> https://hostname/serverAuthent/*
> https://hostname/clientAuthent/*
>
> It works flowlessly with AXIS1 but with AXIS2, only the first address
> is working.
> The two others gives me : [WebContainer : 0] 2007-07-13 10:39:34,603
> DEBUG Servlet.java [handleFault] org.apache.axis2.AxisFault: The
> service cannot be found for the endpoint reference (EPR)
>
> How can I configure multiple EPR for my webservices in Axis2?
> Thanks in advance,
>
> Pierre Casenove
>

-- 
Thanks,
Deepal
................................................................
"The highest tower is built one brick at a time"



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org