Friday, March 12, 2010

CWWSS7200E: Unable to create AxisService from ServiceEndpointAddress

This is what I got back when I tried to bounce a JAVA WebSphere Axis service from a WCF client:
CWWSS7200E: Unable to create AxisService from ServiceEndpointAddress
Took me a while but eventually figured out what was wrong and ,long story short, WebSphere did not like the HttpHeaders generated by the WCF bindings (basicHttpBinding) when sending the request.

I started sniffing traffic with Fiddler, but initially I was paying attention only to the SOAP envelope. I then tried to directly invoke the service using SoapUI and it basically seemed to work fine (no Unable to create AxisService error message and I was getting back the result I expected). With the SOAP envelope ruled out, the next logical consequence needed to be the HttpHeader, so I compared the header generated by WCF with the one automatically generated by SoapUI (by pointing the tool to the endpoint url):

WCF Generated HttpHeader:
POST /MyWebServiceDomain/aWebService HTTP/1.1

SoapUI Generated HttpHeader:
POST http://xx.xxx.xxx.xx:9080/MyWebServiceDomain/aWebService HTTP/1.1

At this point it was fairly obvious that I needed to tweak the POST line of the HttpHeader to include the full definition of the endpoint, hopefully by WCF configuration - and after asking around a co-worker pointed me in the right direction: hostNameComparisonMode="Exact" on the WCF binding is what I was looking for (it seems to be set to StrongWildcard by default).

Couldn't find anything on the web about any of the above - I hope this helps someone else with the same problem.

3 comments:

Viragoboy said...

Thanks dude. I just ran into a similar problem, had a trailing / on my service URL.

Johnny Idol said...

glad this helped dude!

Anubhav said...

Hi, I am new to SOAPUI, with a similar problem.

I set up a new test suite for the first time, pointed it to my webaddress and then clicked run. I became happy to see a reply, but when I saw it, I was baffled, not guessing the reason why!!




soapenv:Server
security.wssecurity.WSSContextImpl.s02: com.ibm.websphere.security.WSSecurityException: Exception org.apache.axis2.AxisFault: CWWSS7200E: Unable to create AxisService from ServiceEndpointAddress : http://vmah-edmk6:9081/com.*.*.*/AccountTreatmentActionsWS/ ocurred while running action: com.ibm.ws.wssecurity.handler.WSSecurityConsumerHandler$1@467c467c






I am unable to find where the option to change hostcomparisonmode exists.


Plz help


................


Just for reference, HHTP Log was:-

Wed Sep 28 14:50:30 IST 2011:DEBUG:<< "soapenv:Serversecurity.wssecurity.WSSContextImpl.s02: com.ibm.websphere.security.WSSecurityException: Exception org.apache.axis2.AxisFault: CWWSS7200E: Unable to create AxisService from ServiceEndpointAddress : http://vmah-edmk6:9081/com.*.*.*/AccountTreatmentActionsWS/ ocurred while running action: com.ibm.ws.wssecurity.handler.WSSecurityConsumerHandler$1@24c524c5"
Wed Sep 28 14:51:05 IST 2011:DEBUG:>> "POST /com.someurl.something.something.jee.ws/AccountTreatmentActionsWS/ HTTP/1.1[\r][\n]"
Wed Sep 28 14:51:05 IST 2011:DEBUG:>> "Accept-Encoding: gzip,deflate[\r][\n]"
Wed Sep 28 14:51:05 IST 2011:DEBUG:>> "Content-Type: text/xml;charset=UTF-8[\r][\n]"
Wed Sep 28 14:51:05 IST 2011:DEBUG:>> "SOAPAction: ""[\r][\n]"
Wed Sep 28 14:51:05 IST 2011:DEBUG:>> "User-Agent: Jakarta Commons-HttpClient/3.1[\r][\n]"
Wed Sep 28 14:51:05 IST 2011:DEBUG:>> "Host: vmah-edmk6:9081[\r][\n]"
Wed Sep 28 14:51:05 IST 2011:DEBUG:>> "Content-Length: 1169[\r][\n]"