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 Paul Bakker <ky...@gmail.com> on 2008/09/24 18:38:57 UTC

Hosting WebService in Axis2 behind IIS Reverse Proxy

Hi,

 

We're trying to setup WebService hosting inside Tomcat behind an IIS Reverse
Proxy and experiencing some difficulties.

 

The Reverse Proxy is configured to use AJP 1.3, here's the content of the
proxy config files:

 

worker.properties:

worker.list=worker1

worker.worker1.type=ajp13

worker.worker1.host=10.101.11.10

worker.worker1.port=8009

 

uriworkermap.properties:

/axis2/*=worker1

 

The Axis2 pages are accessible from the outside, but when we go to the
axis2/services/myServiceName, we get:

<faultstring>

The endpoint reference (EPR) for the Operation not found is
/axis2/services/Authenticate and the WSA Action = null

</faultstring>

 

When we go to the
https://www.mydomain.com/axis2/services/myServiceName?wsdl, we get to see
the correct WSDL, except that the port address is wrong.

 

Instead of "https://www.ourdomain.com/Axis2/...."  it says
"http://www.ourdomain.com:8080/Axis2/...." .

 

We've tried to use the following settings in axis2.xml:

<!-- Following parameter will set the host name for the epr-->

    <parameter name="hostname"
locked="true">www.ourProxyName.com</parameter>

 

and:

 

<!-- If you have a front end host which exposes this webservice using a
different public URL  -->

    <!-- use this parameter to override autodetected url -->

   <parameter
name="httpFrontendHostUrl">https://www.ourProxyName/axis2</parameter>

 

But with both settings, the portAddress is http with portnumer 8080.

 

Note: The Tomcat server runs on port 8080

 

When the "myServiceName" service is called, it generated an error in the
log:

 

org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation
not found is /axis2/services/Authenticate and the WSA Action = null

     at
org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java
:88)

     at org.apache.axis2.engine.Phase.invoke(Phase.java:333)

     at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)

     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163)

     at
org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java
:136)

     at
org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.jav
a:130)

     at
org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLR
equest(AxisServlet.java:824)

     at
org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:253)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)

     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)

     at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:230)

     at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)

     at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)

     at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104
)

     at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)

     at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)

     at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)

     at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)

     at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)

     at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)

     at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)

     at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java
:889)

     at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:686)

     at java.lang.Thread.run(Unknown Source) 

 

Anyone got a clue?

 

Paul