OWSM Faultstring: Http status code: 404

Scenario

An Oracle BPEL application was virtualized in WSM. When the virtualized service was tested, an “Http status code: 404” fault was encounterred .

Error Message

<faultcode xmlns="http://schemas.oblix.com/ws/2003/08/Faults">Client.UndeliverableFault</faultcode>
<faultstring>Http status code: 404</faultstring>

Diagnosis

* Checked gateway log file (OracleAS_2\j2ee\oc4j_soa\log\gateway.log) and found:
The requested URL /MyService/MySoapHttpPort was not found on this server.
(in another unix install, gateway.log is found at ./j2ee/oc4j_wsm/log/gateway.log)
* Viewed Messenger Step for Service: SID0003005 (Policy Management -> Register Services -> Services -> Click “View Details” icon -> Click “View Protocol Parameters” link) and found the HTTP Messenger URL property is set to:
http://localhost/MyService/MySoapHttpPort

Cause

* In BPEL application, “Client” partner link’s WSDL imports an existing WSDL document which contains the offending dummy soap:address. During virtualization, WSM incorrectly uses it in HTTP Messenger URL.

Solution 1

* Modify HTTP Messenger URL property and point to the correct physical service endpoint
(Policy Management -> Register Services -> Services -> Click “Edit” icon -> Click “–> Modify Protocol Parameters” link)
* Save -> Save -> OK -> commit -> OK

Solution 2

* Remove the <service> section from the imported WSDL.
* Revirtualize the service.
* Caveat: you’ll get a new SID

This entry was posted in bpel, errors, oc4j. Bookmark the permalink.