2011-08-05 90 views
0

Tomcat 5.5 + Axis2 1.5.5 + 2サーブレットが動作しています。 私のサーブレットの1つは、axis2も実行するカスタムサーブレットです。 私はWEB-INFとその下のすべてのサブディレクトリ(conf、lib、services、modules)を持っています。JDK5 + Axis2:URLエンコードされたパラメータでWSを作成するには?

私のクラスの1つは、WSとして公開されるはずのEntityWebServiceです。私も1単純にしようとした

<soapenv:Reason> 
<soapenv:Text xml:lang="en-US"> 
The service cannot be found for the endpoint reference (EPR) /myServlet/services/EntityWebService/getEntityList 
</soapenv:Text> 
</soapenv:Reason> 

<service name="EntityWebService"> 
    <description>Web Service</description> 
    <parameter name="ServiceClass" locked="xsd:false">com.webservice.EntityWebService 
    </parameter> 
    <operation name="getEntityList"> 
     <messageReceiver 
      class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" /> 
    </operation> 
    <operation name="getEntityDescription"> 
     <messageReceiver 
      class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" /> 
    </operation> 
    <operation name="searchInstanceEntity"> 
     <messageReceiver 
      class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" /> 
    </operation> 
    <operation name="entityWriter"> 
     <messageReceiver 
      class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" /> 
    </operation> 
</service> 

この1つは同じをスロー

<service name="EntityWebService" scope="application"> 
    <description> 
    service web sur les entites 
    </description> 
<messageReceivers> 
     <messageReceiver 
      mep="http://www.w3.org/2004/08/wsdl/in-only" 
    class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> 
     <messageReceiver 
      mep="http://www.w3.org/2004/08/wsdl/in-out" 
    class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> 
    </messageReceivers> 
    <parameter name="ServiceClass">com.webservice.EntityWebService</parameter> 
</service> 

この1つは、これをスロー: は、だから私は、このservices.xmlファイルを作ってきましたあまりにも。

  • 公共OMElement getEntityDescription(文字列エンティティネーム)
  • 公共OMElement getEntityList()
  • これらのXMLの両方

    は、これらのメソッドを公開するために、(少なくともそれは私がすべてのWeb stuffから分かるものだ)想定しています
  • public OMElement searchInstanceEntity(文字列ログイン、文字列パスワード、 文字列ロール、文字列エンティティ名、文字列プロパティ、文字列条件)
  • public OMElement entityWriter(String login、String password、String 役割、文字エンティティネーム、文字actionTypeが、Stringプロパティ)

理想的には私のような私のURLから直接これらのメソッドを呼び出したい:私は同じようEntityWebServiceクラスを作った

http://localhost:8080/myServlet/services/EntityWebService/searchInstanceEntity?login=jmm&password=jmm&role=AdminRol&entityName=beans.Personnel.Salarie&property=all&criteria=null

これはWS標準で実行できるようになります:

package com.webservice; 

[imports] 

@WebService 
public class EntityWebService extends AbstractWebService 
{ 


    @WebMethod 
    public OMElement getEntityList(OMElement e) throws RemoteException 
    { 
       [...] 

    } 

    @WebMethod 
    public OMElement getEntityDescription(OMElement omEntityParam) throws RemoteException 
    { 
       [...] 
    } 

    @WebMethod 
    public OMElement searchInstanceEntity(OMElement omParam) throws RemoteException 
    { 
     [...] 
    } 

    @WebMethod 
    public OMElement entityWriter(OMElement omParam) throws RemoteException 
    { 
     [...] 
    } 

    @Override 
    public String getServiceName() 
    { 
     return "EntityWebService"; 
    } 

} 

今私の質問。 URLエンコードされたパラメータを有効にして4つのメソッドを公開するにはどうすればよいですか?

設定がうまくいかず、何か不足しているようです。私はそれらを呼び出し可能にするために一度管理しましたが、パラメータは入力しません。 最後の1.5.5リリースからAxis2.xmlを取得しましたが、良い結果は得られませんでした。私たちはRPCメッセージングとXMLで動作する古い構成を持っていましたが、私はAARコンテナを取り除きたいと思っていました。私は上記のXMLInOut messaging services.xmlを持っている友人がいます。彼はちょうどこのようなサービスの下にディレクトリを作った: /myServlet/services/EntityWebService/META-INF/services.xml

私は私の仕事のためにこれが必要です。 thx

答えて

0

明らかに、Axis2の設定をアップグレードし、1.6軸のリリースを使用して問題を解決しました。どのように、なぜ、しかし何でも知りません...

関連する問題