Hi Guys,

I am trying to connect to webservices in jboss(using seam) from a
google android phone. So far, I implemented all the necessary beans
and android classes. Unfortunately, I am getting an exception on the
server side after the request is dispatched from the android emulator,
java.lang.IllegalArgumentException: Cannot create SOAP envelope from:
methodCall. I have tried everything I can but to no success. On the
other hand, when I try to connect to the service from SOAP UI,
everything works great. Please if you have any clue, help! Thanks a
lot in advance.

Interface
[code]

package de.iu.soko.web.webservice;

import javax.ejb.Remote;


@Remote
public interface SokoServiceRemote {


        public String hello();
}
[/code]


Stateless Web Service Facade
[code]

package de.iu.soko.web.webservice;

import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.security.Identity;

@Stateless
@WebService(name = "SokoService", serviceName = "SokoService")
@SOAPBinding(style = SOAPBinding.Style.RPC)
@Name("sokoServiceCallHandler")
public class SokoService implements SokoServiceRemote {

        @Logger
        private Log log;

        @In(required=true)
        Identity identity;



        @WebMethod
        public String hello(){

                return "Hello from a seam component";
        }
}

[/code]



standard-ws-config xml file
[code][/code]
<jaxws-config xmlns="urn:jboss:jaxws-config:2.0"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:javaee="http://java.sun.com/xml/ns/javaee";

        xsi:schemaLocation="urn:jboss:jaxws-config:2.0 jaxws-config_2_0.xsd">

        <endpoint-config>

                <config-name>Seam WebService Endpoint</config-name>

                <pre-handler-chains>

                        <javaee:handler-chain>

                                <javaee:protocol-bindings>##SOAP11_HTTP
                                </javaee:protocol-bindings>

                                <javaee:handler>

                                        <javaee:handler-name>SOAP Request 
Handler</javaee:handler-name>

                                        <javaee:handler-
class>org.jboss.seam.webservice.SOAPRequestHandler
                                        </javaee:handler-class>

                                </javaee:handler>

                        </javaee:handler-chain>

                </pre-handler-chains>

        </endpoint-config>

</jaxws-config>



entries in web.xml

[code][/code]

<filter>
     <filter-name>Seam Context Filter</filter-name>
     <filter-class>org.jboss.seam.web.ContextFilter</filter-class>
  </filter>

  <filter-mapping>
     <filter-name>Seam Context Filter</filter-name>
     <url-pattern>/test</url-pattern>
  </filter-mapping>



<servlet-mapping>
  <servlet-name>AndroidService</servlet-name>
  <url-pattern>/androidService</url-pattern>
 </servlet-mapping>
 <servlet>
  <servlet-name>AndroidService</servlet-name>
  <servlet-class>de.iu.soko.web.webservice.SokoService</servlet-class>
 </servlet>



SOAP UI request
[code]
POST http://sylar:8080/soko-web/androidService?wsdl HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
User-Agent: Jakarta Commons-HttpClient/3.1
Host: sylar:8080
Content-Length: 219

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:web="http://webservice.web.soko.iu.de/";>
   <soapenv:Header/>
   <soapenv:Body>
      <web:hello/>
   </soapenv:Body>
</soapenv:Envelope>

[/code]




SOAP UI Response
[code]
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";>
   <env:Header>
      <seam:conversationId xmlns:seam="http://www.jboss.org/seam/
webservice">21</seam:conversationId>
   </env:Header>
   <env:Body>
      <web:helloResponse xmlns:web="http://
webservice.web.soko.iu.de/">
         <return>Hello from a seam component</return>
      </web:helloResponse>
   </env:Body>
</env:Envelope>

[/code]



The Exception
[code]

java.lang.IllegalArgumentException: Cannot create SOAP envelope from:
methodCall
        at org.jboss.ws.core.soap.SOAPEnvelopeImpl.<init>
(SOAPEnvelopeImpl.java:70)
        at org.jboss.ws.core.soap.EnvelopeBuilderDOM.build
(EnvelopeBuilderDOM.java:124)
        at org.jboss.ws.core.soap.EnvelopeBuilderDOM.build
(EnvelopeBuilderDOM.java:96)
        at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage
(MessageFactoryImpl.java:262)
        at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage
(MessageFactoryImpl.java:185)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest
(RequestHandlerImpl.java:389)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest
(RequestHandlerImpl.java:272)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost
(RequestHandlerImpl.java:189)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest
(RequestHandlerImpl.java:122)
        at org.jboss.wsf.stack.jbws.EndpointServlet.service
(EndpointServlet.java:84)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter
(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke
(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke
(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke
(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
        at java.lang.Thread.run(Thread.java:595)

[/code]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to