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() :
- public OMElement searchInstanceEntity(文字列ログイン、文字列パスワード、 文字列ロール、文字列エンティティ名、文字列プロパティ、文字列条件)
- public OMElement entityWriter(String login、String password、String 役割、文字エンティティネーム、文字actionTypeが、Stringプロパティ)
これらのXMLの両方
は、これらのメソッドを公開するために、(少なくともそれは私がすべてのWeb stuffから分かるものだ)想定しています理想的には私のような私のURLから直接これらのメソッドを呼び出したい:私は同じようEntityWebServiceクラスを作った
これは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