So, it seems to be a SOAP version issue.

If you use SOAP 1.1, which the failing request was using, you must have the SOAPAction: HTTP header. At least according to: http://wso2.org/library/559

In any case, if I add the SOAPAction: HTTP header to the failing request, it works.

Now if I can just get fitnesse to do the same....


Linus Kamb wrote:
I know this has been discussed before, but I'm stumped.

I have a service running, and I can contact it no problem using a stand-alone java client that uses the axis-generated stubs.

However, if I run fitnesse tests, they get an error:
<faultstring>The endpoint reference (EPR) for the Operation not found is http://127.0.0.1:8080/axis2/services/ESPortalCDI and the WSA Action = null</faultstring>

The requests, as viewed from tcpmon, are virtually identical, other than the fitnesse has an empty soapenv:Header element.

There were remarks made on the list that this error is caused from using ws-addressing. As with the others, I am not intentionally doing this. If I am, how do I stop it? According to the web administrator app, addressing is not engaged. I pulled the "soapAction" out of the wsdl binding operation definitions, pulled the actionMappings out of the services.xml, and modified the client to use soap11. While each of those little changes has brought the two requests closer, the fitnesse test still gets the error.

Is this a ws-addressing issue?

This has me stumped.

note that the service is behind a firewall, so the requests are proxy-passed through. But both client and fitnesse access the same public url.

The working request, as viewed with tcpmon, looks like:

POST /axis2/services/ESPortalCDI HTTP/1.1
Host: 127.0.0.1:8080
Content-Type: text/xml; charset=UTF-8
SOAPAction: ""
User-Agent: Axis2
Max-Forwards: 10
X-Forwarded-For: 192.168.167.1
X-Forwarded-Host: www.iris.edu
X-Forwarded-Server: www.iris.edu
Content-Length: 570

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
     <soapenv:Body>
<esdp:getStations xmlns:gml="http://www.opengis.net/gml"; xmlns:esdp="http://portal.earthscope.org";>
           <esdp:UserToken>Me</esdp:UserToken>
           <esdp:StationFilter xmlns:ogc="http://www.opengis.net/ogc";>
              <esdp:StationIdentifiers>
<esdp:StationIdentifier networkCode="IU" stationCode="ANMO" /> <esdp:StationIdentifier networkCode="TA" stationCode="C123" />
              </esdp:StationIdentifiers>
           </esdp:StationFilter>
        </esdp:getStations>
     </soapenv:Body>
  </soapenv:Envelope>

Note there is a SOAPAction: html header. If I use SOAP1.2, that goes away.

The fitnesse request looks like:

POST /axis2/services/ESPortalCDI HTTP/1.1
Host: 127.0.0.1:8080
Accept-Encoding: gzip
Accept: text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Type: text/xml; charset=utf-8
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Java/1.5.0_12
Max-Forwards: 10
X-Forwarded-For: 69.44.86.66
X-Forwarded-Host: www.iris.edu
X-Forwarded-Server: www.iris.edu
Content-Length: 470

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
     <por:getStations xmlns:por="http://portal.earthscope.org";>
        <por:UserToken>testuser</por:UserToken>
        <por:StationFilter>
           <por:StationIdentifiers>
<por:StationIdentifier networkCode="TA" stationCode="z789"/> <por:StationIdentifier networkCode="XE" stationCode="a123"/>
           </por:StationIdentifiers>
        </por:StationFilter>
     </por:getStations>
  </SOAP-ENV:Body></SOAP-ENV:Envelope>

Attached is my wsdl.

FWIW, I've been able to cut and paste the working request into a telnet session, and get a correct response, but I cannot do the same for the fitnesse request.

Thanks for any insight!
Linus


------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to