You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Alexander Gavrilov <lj...@gmail.com> on 2010/11/22 18:59:29 UTC

Really strange problem!!!!

Hi! I don't know how to actually describe this problem, but I will try to do
my best.
The thing is that I have wsdl (it's huge, so I won't post it here). I have
generated client and service using axis 1.4 from the same wsdl. Now, when I
deploy it to tomcat or jboss I can see, that it is actually deployed - wsdl
and services are there.

When I run app. container (let say Tomcat) and when I am trying to generate
simple request against my service using SOAP-UI, then it acts weirdly:

For the first try it works ok with this request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>
   <soapenv:Header/>
   <soapenv:Body>
      <getOperation/>
   </soapenv:Body>
</soapenv:Envelope>

but does not work with this request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://something.com/something">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:getOperation/>
   </soapenv:Body>
</soapenv:Envelope>

(as you can see there is "ns" applied to getOperation element).

If I will create a new project in SOAP-UI (without restarting a Tomcat) and
create again the same request (with "ns" prefix):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://something.com/something">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:getOperation/>
   </soapenv:Body>
</soapenv:Envelope>

then it will pass!!!!! And my first request (without "ns" will not pass any
more).

If I restart Tomcat, then as I could notice it depends which type of request
to execute first of all (with "ns" or without). If first off all I execute
request with "ns" prefix, then it will always accept request with this
prefix. And if I execute request without "ns" prefix, then it will accept
requests only without prefix and requests with prefixed will return
following exception:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server.userException</faultcode>
         <faultstring>org.xml.sax.SAXException: SimpleDeserializer
encountered a child element, which is NOT expected, in something it was
trying to deserialize.</faultstring>
         <detail>
            <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/
">VB-A071</ns1:hostname>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

I understand, that it is hard to say what is wrong, but still...May be
someone had similar problem, or may be could guess what is the problem, then
it would be much appreciated.

My service descriptor has such configuration:
<service name="SOAPEventSource" provider="java:RPC" style="document"
use="literal">
  ....
</service>

Best Regards,
Alexander.