EclipseとApache軸(Using this link)を使用してWebサービスを作成しました。 EclipseとApchache tomcatを使ってローカルマシンでテストしたところ、うまくいきました。
次に、eclipseによって生成されたファイルを使用して、別のマシンにWebサービスをデプロイしました。 WebContent\WEB-INF\services\AutocompleteService
の下に作成されたフォルダをJbossのserver\default\deploy\i2b2.war\WEB-INF\services\AutocompleteService
にコピーしました。私のサービスにアクセスしようとしたときに、以下の例外が表示されます。ここでApache軸を使用したWebサービス
SEVERE: org.apache.axis2.AxisFault: Required element null defined in the schema can not be found in the request".
(ビズ・ロジックを除く)私の小さなウェブサービスは、ここで
public class AutocompleteService
{
public OMElement getCodes(OMElement input)
{
String query = input.getText();
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("", "");
OMElement codes = fac.createOMElement("codes", omNs);
// some biz logic
while (SOME_CONDITION)
{
OMElement code = fac.createOMElement("code", null, codes);
OMAttribute value = fac.createOMAttribute("value", null, tempStr);
code.addAttribute(value);
}
return codes;
}
}
である私のservices.xmlファイルが
あるservice name="AutocompleteService" >
<Description>
Please Type your service description here
</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" locked="false">com.service.AutocompleteService</parameter>
</service>
私は何かが足りないのですか?
EDIT:私は
1)JBossの4.2.2
2)Axisa 2-1.5.2
3)Tomcatの変更6
に自分のファイルを更新しましたが、あなたは、Tomcat、JBossとAxis2のためにここで使用されているバージョンについての情報を追加していただけますか? – Steen
@Steen:私の編集を確認してください。 – xyz