0

ラバのエコーサンプルをインターネットからダウンロードしました。私は1つのJavaクラスを持っています

package org.mule.example.echo;

public class Echo
{
    public Echo()
    {
    }

    public String echo(String string)
    {
        return string;
    }
}

そしてxmlファイル

 <?xml version="1.0" encoding="UTF-8"?>
 <mule> 

 <flow name="EchoFlow">
        <inbound-endpoint address=":65082/services/EchoUMO" exchange-pattern="request-response"/>
        <cxf:jaxws-service serviceClass="org.mule.example.echo.Echo"/>
        <component>
            <singleton-object class="org.mule.example.echo.Echo" />
        </component>
    </flow>
</mule>

ブラウザで:65082 / services / EchoUMOと書くと、良い結果が得られません。私のコンソールでは、次のエラーが表示されます。

 WARN  2013-03-04 12:08:10,713 [[sample-echo].connector.http.mule.default.receiver.02] org.apache.cxf.phase.PhaseInterceptorChain: Interceptor for {http://echo.example.mule.org/}EchoService has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: No such operation:  (HTTP GET PATH_INFO: /services/EchoUMO)
    at org.apache.cxf.interceptor.URIMappingInterceptor.handleMessage(URIMappingInterceptor.java:88)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)

私に何が起こっているのか説明してもらえますか?

ブラウザに書き込む:65082/services/EchoUMOと、ブラウザに次のページが表示されます。

<soap:Envelope>
    <soap:Body><soap:Fault>
        <faultcode>soap:Server</faultcode>
        <faultstring>No such operation: (HTTP GET PATH_INFO: /services/EchoUMO)</faultstring>
    </soap:Fault></soap:Body>
</soap:Envelope>
4

1 に答える 1

0

クラスはJAX-WSアノテーションを使用しないため、エラーが発生します。

2つの選択肢があります:

  1. 現在のクラスを維持し、簡単なサービスを使用します。<cxf:simple-service serviceClass="org.mule.example.echo.Echo"/>
  2. ここで説明されているように、POJOにJAX-WSアノテーションを追加します
于 2013-03-04T16:20:03.507 に答える