Tuesday, January 11, 2011

SOA-20003 unable to register service

SOA-20003 unable to register service
oracle.webservices.provider.ProviderException: java.lang.NullPointerException

This error occurs while I try to deploy a composite.


SOA-20003: Unable to register service.
    Cause: There was an issue during the attempt to create the endpoint for the composite service
    Action: Make sure that the WSDL either has a service and port that correspond to the values specified in the composite file or that there is no empty service node in the WSDL

    Level: 1

    Type: ERROR

    Impact: Deployment

The problem in fact was that I coded by hand the WSDL (naughty me) and I put a service name not matching the Web Service name created in the Composite.

I recreated the WSDL using the JDeveloper wizard associated to the Composite Exposed Services for WS Adapter, and it works.

This wizard doesn't produce a "service" entry in the WSDL - this might be the reason for the failure, the Composite doesn't expect to have a "complete" WSDL, the Engine will take care of generating a true one.

Especially, forget about imposing an Endpoint URL by using the "soap:address location" in the wsdl:service/wsdl:port section: the SOA Composite will generate its endpoint using his own logic.

No comments: