0

JAX-RPC (Weblogic 実装) で実行されている古い SOAP Web サービスを維持しています。しかし、完全なスタック トレースなしで NPE が発生しています。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>Failed to invoke end component com.old.service.MyService (POJO), operation=listUsers
 -&gt; Failed to invoke method
</faultstring><detail><java:string xmlns:java="java.io">java.lang.NullPointerException
</java:string></detail></env:Fault></env:Body></env:Envelope> 

完全なスタック トレースを見つける方法はありますか? Jax-WS の注釈のような Web サービスの例外をプログラムで処理する方法はあり@HandlerChainますか (ログの目的で) はありますか?

4

1 に答える 1

0

解決 :

私は最終的にここで解決策を見つけました: https://docs.oracle.com/middleware/1212/wls/WSRPC/jax-rpc-handlers.htm#WSRPC414特定のハンドラー構成ファイル を使用@HandlerChain(file = "jaxrpc-soap-handler-chain.xml", name="JaxRpcSOAPHandlerChain")して (JEE 名前空間ではなく BEA 名前空間を使用)実装するクラスを参照するjavax.xml.rpc.handler.Handler

jaxrpc-soap-handler-chain.xml :

<?xml version="1.0" encoding="UTF-8" ?>
<jwshc:handler-config xmlns:jwshc="http://www.bea.com/xml/ns/jws"
    xmlns:soap1="http://HandlerInfo.org/Server1" xmlns:soap2="http://HandlerInfo.org/Server2"
    xmlns="http://java.sun.com/xml/ns/j2ee">
    <jwshc:handler-chain>
        <jwshc:handler-chain-name>JaxRpcSOAPHandlerChain</jwshc:handler-chain-name>
        <jwshc:handler>
            <handler-name>JaxRpcSOAPLoggerHandler</handler-name>
            <handler-class>com.old.service.ws.handler.JaxRpcSOAPLoggerHandler</handler-class>
        </jwshc:handler>
    </jwshc:handler-chain>
</jwshc:handler-config>
于 2015-11-18T14:53:16.097 に答える