Веб-сервис с осью Apache - PullRequest
       6

Веб-сервис с осью Apache

0 голосов
/ 09 августа 2011

Я создал свой веб-сервис, используя оси Eclipse и Apache ( Используя эту ссылку ).Когда я тестировал его на своем локальном компьютере с Eclipse и Apchache tomcat, он работал нормально.
Затем я развернул свой веб-сервис на другом компьютере, используя файлы, сгенерированные Eclipse.Я скопировал папку, созданную в WebContent\WEB-INF\services\AutocompleteService, в server\default\deploy\i2b2.war\WEB-INF\services\AutocompleteService
Jboss. Когда я пытался получить доступ к своему сервису, это дает мне следующее исключение.

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>

Я что-то упустил?

РЕДАКТИРОВАТЬ: Я использую
1) Jboss 4.2.2
2) Axisa 2-1.5.2
3) Tomcat 6

1 Ответ

0 голосов
/ 09 августа 2011

Изменил мой файл services.xml и все заработало. Я действительно удивлен, поскольку файл, упомянутый в вопросе, сгенерирован Eclipse, но он все еще не работает.
Я обновил свой файл до

<service name="AutocompleteService" >
    <Description>
        Please Type your service description here
    </Description>
    <operation name="getCodes">
        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
    </operation>
    <parameter name="ServiceClass" locked="false">com.service.AutocompleteService</parameter>
</service>
...