Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在JAX-RPC java客户端中访问原始SOA/XML消息吗?_Java_Web Services_Jax Rpc - Fatal编程技术网

可以在JAX-RPC java客户端中访问原始SOA/XML消息吗?

可以在JAX-RPC java客户端中访问原始SOA/XML消息吗?,java,web-services,jax-rpc,Java,Web Services,Jax Rpc,我试图通过JAX-RPC java客户端访问XML响应 我一直在研究Axis自定义处理程序,但它们似乎只在服务端有用。以下是一些代码,它们将返回XML响应负载。您可以直接从AXIS存根类获取,也可以从将其写入MessageContext的处理程序获取。下面是一个可以直接阅读的: private String getSOAPResponseXML(Object clientstub) { String returnValue = null; org.apache.axis.clie

我试图通过JAX-RPC java客户端访问XML响应


我一直在研究Axis自定义处理程序,但它们似乎只在服务端有用。

以下是一些代码,它们将返回XML响应负载。您可以直接从AXIS存根类获取,也可以从将其写入MessageContext的处理程序获取。下面是一个可以直接阅读的:

private String getSOAPResponseXML(Object clientstub) {
    String returnValue = null;
    org.apache.axis.client.Stub stub = (org.apache.axis.client.Stub)clientstub;
    Call call = stub._getCall();
    if (call != null) {
        MessageContext ctx = call.getMessageContext();
        // If I registered a handler
        // returnValue = (String) ctx.getProperty( ClientHandler.SOAP_RESPONSE );

        // or use:
        try {
            Message msg = call.getResponseMessage();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            // NOTE: If we never get a response (a request handler throws an uncaught error
            // this can cause a java.lang.NullPointerException
            msg.writeTo(baos);
            returnValue = baos.toString();
        } catch (java.io.IOException ex) {
            log.debug("Error in getSOAPResponseXML", ex);
        } catch (javax.xml.soap.SOAPException ex) {
            log.debug("Error in getSOAPResponseXML", ex);
        }
    }
    return returnValue;
} // getSOAPResponseXML

如果您需要处理程序,请告诉我。

以下是一些代码,可以返回XML响应负载。您可以直接从AXIS存根类获取,也可以从将其写入MessageContext的处理程序获取。下面是一个可以直接阅读的:

private String getSOAPResponseXML(Object clientstub) {
    String returnValue = null;
    org.apache.axis.client.Stub stub = (org.apache.axis.client.Stub)clientstub;
    Call call = stub._getCall();
    if (call != null) {
        MessageContext ctx = call.getMessageContext();
        // If I registered a handler
        // returnValue = (String) ctx.getProperty( ClientHandler.SOAP_RESPONSE );

        // or use:
        try {
            Message msg = call.getResponseMessage();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            // NOTE: If we never get a response (a request handler throws an uncaught error
            // this can cause a java.lang.NullPointerException
            msg.writeTo(baos);
            returnValue = baos.toString();
        } catch (java.io.IOException ex) {
            log.debug("Error in getSOAPResponseXML", ex);
        } catch (javax.xml.soap.SOAPException ex) {
            log.debug("Error in getSOAPResponseXML", ex);
        }
    }
    return returnValue;
} // getSOAPResponseXML
如果你需要处理者,请告诉我