Hola,
Parece que estás teniendo problemas con tu Acción SOAP;
java.lang.IllegalArgumentException: La Acción SOAP "" incluida en la solicitud SOAP no corresponde al método del servicio del Portal.
Veo en tu código que estás configurando el encabezado SOAP con un valor vacío:
httpheaders.put("soapaction","\"\"");
Esto parece ser el problema. Intenta establecer algo válido aquí.
También revisé la especificación SOAP (ver http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528)
y parece que una Acción SOAP vacía está permitida. La especificación dice:
Extracto del capítulo 6.1.1 de la ESPECIFICACIÓN SOAP
El campo de encabezado de solicitud HTTP SOAPAction puede usarse para indicar la intención de la solicitud HTTP SOAP. El valor es un URI que identifica la intención. SOAP no impone restricciones sobre el formato o la especificidad del URI o que sea resoluble. Un cliente HTTP debe usar este campo de encabezado al emitir una Solicitud HTTP SOAP.
soapaction = "SOAPAction" ":" [ <"> URI-reference <"> ]
URI-reference = <como se define en RFC 2396 [4]>
La presencia y contenido del campo de encabezado SOAPAction puede ser utilizado por servidores como firewalls para filtrar adecuadamente mensajes de solicitud SOAP en HTTP. El valor del campo de encabezado de cadena vacía ("") significa que la intención del mensaje SOAP se proporciona mediante la URI de la Solicitud HTTP. Ningún valor significa que no hay indicación de la intención del mensaje.
Ejemplos:
SOAPAction: "http://electrocommerce.org/abc#MyMessage"
SOAPAction: "myapp.sdl"
SOAPAction: ""
SOAPAction:
Sin embargo, la excepción indica un problema relacionado con el encabezado, así que intenta definir una intención de tu mensaje como se describe en la especificación.
Saludos