Skip to Content
avatar image
Former Member

Error javax.xml.rpc.handler.HandlerRegistry in a Standlone Proxy

Hello

I want to communicate with a web service with attachment file. I develop following the sap guide a Standlone proxy with the WSDL service. I need to change the soap header and manage the request and response. Sap Portal Netweaver 7.0 sp 15 uses JAX RPC 1.0 and manage all related to the Web services with this technology. Following the JAX RPC guide it is said that you can install a handler to manage the SOAP message. The code is bellow:

ENT_ARQ_FileRoutingImpl service =new ENT_ARQ_FileRoutingImpl();
IENT_ARQ_FileRoutingByStream port= service.getBasicSreamEndpoint();

HandlerRegistry registry=service.getHandlerRegistry();
QName qnamePort = new QName("http://tempuri.org/", "basicSreamEndpoint");
					
List handlerList=new ArrayList();
handlerList.add(new MyHandler());

registry.setHandlerChain(qnamePort,handlerList);
port.sendFileByStream(file);

The main problem is that service.getHandlerRegistry(); return a null and it is impossible to register a new handler.

Please if someone has idea how to solve this problem or how to modify the content type of soap message I will appreciate.

Thanks in advance.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Feb 04, 2009 at 05:48 PM

    Hi,

    the class com.sap.engine.services.webservices.jaxrpc.wsdl2java.ServiceBase, the base class for your service interface implementation, implements the getHandlerRegistry-Method and returns null. In a standalone proxy project you only create interfaces, the concrete classes seem to be created on the server (cglib?). Therefore I don't see a way to provide a HandlerRegistry implementation. Even if you could find a way I guess that the engine doesn't support invoking it when sending/receiving SOAP messages. I read somewhere in the Portal(?) developer's guide that this (2004s SP15) should be a JAX-RPC 1.0 implementation.

    To quote the JAX-RPC 1.1 specification (don't have 1.0, http://jcp.org/en/jsr/detail?id=101), chapter 12.3.1 Handler Configuration APIs:

    A JAX-RPC runtime system is required to provide implementation class for the
    HandlerRegistry interface.

    Therefore you could say that the SAP implementation for this AS version is incomplete, I would suggest using an open source implementation.

    Best regards,

    Fabian

    Add comment
    10|10000 characters needed characters exceeded