When I run the test client in the present I get this error:
---------------------------------------------------------------------------------
4-May-2007 6:22:42 PM org.codehaus.xfire.transport.http.HttpChannel
sendViaClient
SEVERE: Server returned error code = 404 for URI : http://dddpavel-
lnx.dynadocs.com:8080/dragosenergylixar/. Check server logs for details
Exception from ServiceClient: Could not invoke service.. Nested
exception is org.codehaus.xfire.fault.XFireFault: Server returned error
code = 404 for URI : http://dddpavel-
lnx.dynadocs.com:8080/dragosenergylixar/. Check server logs for details
---------------------------------------------------------------------------------
There are no details in the server logs because the invocation fails.


OK let me explain what is happening:
I created a correct wsdl file for my web service; checked it many many
times and is correct and passes the validation fine. I build the project
deploy it on JBoss and check the wsdl inside the deployed war which is
correct and in sync with the one in the project as it should be. 
Now I start the JBoss AS and then run the test Client and I get the
error mentioned above. I have to mention that I am testing on my local
computer doing a loop; my loop environment includes a apache server with
mod_jk in it for outbound access; that's fine, I am able to go to
http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/
or to  http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service?
wsdl 
and check/view the wsdl on the Firefox browser, but here when I access
the "View Page Source" for the related wsdl I have a BIG BIG NEGATIVE
SURPRISE = this wsdl served by my server is nothing like the original
wsdl configured and created by me in the project. How this is possible,
only deploying to JBoss that the wsdl abstract interface gets
interpreted and modified... ???


This is the viewed page source from the browser:
------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?> 
<wsdl:definitions targetNamespace="
                        
http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service
                " xmlns:tns="
                        
http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service
                " xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"; 
xmlns:ns1="http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding"; 
xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
  <wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="&#10;&#9;&#9;&#9;http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service&#10;&#9;&#9;";>
<xsd:element name="User" type="xsd:string"/>
<xsd:element name="Password" type="xsd:string"/>
<xsd:element name="DeviceStatusMessageDoc" type="ns1:DeviceStatusMessageDoc"/>
<xsd:element name="PutDeviceStatusResponse" type="xsd:string"/>
</xsd:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service";
 version="1.0">
<xs:complexType name="DeviceStatusMessageDoc">
<xs:sequence>
<xs:element name="CreationDate" type="xs:anySimpleType"/>
<xs:element name="SequenceNumber" type="xs:string"/>
<xs:element name="Version" type="xs:string"/>
<xs:element 
xmlns:ns1="http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service"; 
name="Devices" type="ns1:ArrayOfDevices"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfDevices">
<xs:sequence>
<xs:element 
xmlns:ns2="http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service"; 
maxOccurs="unbounded" minOccurs="0" name="Device" nillable="true" 
type="ns2:Device"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Device">
<xs:sequence>
<xs:element name="SKU" type="xs:string"/>
<xs:element name="BECSRefId" type="xs:int"/>
<xs:element name="SerialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="ConsumerId" type="xs:string"/>
<xs:element 
xmlns:ns3="http://dddpavel-lnx.dynadocs.com:8080/dragosenergylixar/Service"; 
name="DeviceStatus" type="ns3:deviceStatusValues"/>
<xs:element name="DeviceStatusEffectiveDate" type="xs:anySimpleType"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="deviceStatusValues">
<xs:restriction base="xs:string">
<xs:enumeration value="RMA"/>
<xs:enumeration value="Inactive"/>
<xs:enumeration value="Active"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
 </wsdl:types>
from here on everything is OK in the wsdl ...
------------------------------------------------------------------------------------------------


But here is what I configured in the wsdl that I created:
------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:tns="http://dddpavel-
lnx.dynadocs.com:8080/dragosenergylixar/Service"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="Service"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
targetNamespace="http://dddpavel-
lnx.dynadocs.com:8080/dragosenergylixar/Service">

<wsdl:types>
<xsd:schema targetNamespace="http://dddpavel-
lnx.dynadocs.com:8080/dragosenergylixar/Service">

<xsd:element name="PutDeviceStatus">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="User" type="xsd:string"/>
<xsd:element minOccurs="0" maxOccurs="1" name="Password"
type="xsd:string"/>
<xsd:element minOccurs="1" maxOccurs="1" name="DeviceStatusMessageDoc"
nillable="true" type="tns:DeviceStatusMessageDoc"/> 
</xsd:sequence>
</xsd:complexType>
</xsd:element>

<xsd:complexType name="DeviceStatusMessageDoc">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="CreationDate"
type="xsd:dateTime"/> 
<xsd:element minOccurs="1" maxOccurs="1" name="SequenceNumber"
type="xsd:string"/> 
<xsd:element minOccurs="1" maxOccurs="1" name="Version"
type="xsd:string"/> 
<xsd:element minOccurs="1" maxOccurs="1" name="Devices"
type="tns:ArrayOfDevices"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ArrayOfDevices">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Device"
nillable="true" type="tns:Device"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="Device">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="SKU" type="xsd:string"/>
<xsd:element minOccurs="1" maxOccurs="1" name="BECSRefId"
type="xsd:int"/>
<xsd:element minOccurs="1" maxOccurs="1" name="SerialNumber"
type="xsd:string"/>
<xsd:element minOccurs="0" maxOccurs="1" name="ConsumerId"
type="xsd:string"/>
<xsd:element minOccurs="1" maxOccurs="1" name="DeviceStatus"
type="tns:DeviceStatusValues"/>
<xsd:element minOccurs="1" maxOccurs="1"
name="DeviceStatusEffectiveDate" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:complexType>
            
         <xsd:simpleType name="DeviceStatusValues">
           <xsd:restriction base="xsd:string">
              <xsd:enumeration value="Active" />
              <xsd:enumeration value="Inactive" />
              <xsd:enumeration value="RMA" />
            </xsd:restriction>
         </xsd:simpleType>
                  
<xsd:element name="PutDeviceStatusResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="PutDeviceStatusResponse"
type="xsd:string"/> 
</xsd:sequence>
</xsd:complexType>
</xsd:element>

</xsd:schema>
</wsdl:types>
    
<wsdl:message name="PutDeviceStatusRequest">
<wsdl:part element="tns:PutDeviceStatus" name="parameters" />
</wsdl:message>
<wsdl:message name="PutDeviceStatusResponse">
<wsdl:part element="tns:PutDeviceStatusResponse" name="parameters" />
</wsdl:message>
    
<wsdl:portType name="Service">
<wsdl:operation name="PutDeviceStatus">
<wsdl:input message="tns:PutDeviceStatusRequest" />
<wsdl:output message="tns:PutDeviceStatusResponse" />
</wsdl:operation>
</wsdl:portType>
    
<wsdl:binding name="ServiceSOAP" type="tns:Service">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"; />
<wsdl:operation name="PutDeviceStatus">
<soap:operation soapAction="http://dddpavel-
lnx.dynadocs.com:8080/dragosenergylixar/Service/PutDeviceStatus" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
    
<wsdl:service name="Service">
<wsdl:port binding="tns:ServiceSOAP" name="ServiceSOAP">
<soap:address location="http://dddpavel-
lnx.dynadocs.com:8080/dragosenergylixar/" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
------------------------------------------------------------------------------------------------

Can someone explain to me the differences and especial why is there ns1,
ns2 and ns3 instead to be only one target namespace which is defined in
my wsdl that I wrote (see my wsdl right above) ? And why is there 'xs:'
instead to be 'xsd:" as I used everywhere in my wsdl ... And the strange
characters at the end of the targetNamespace in the
wsdl:definitions ... ???

The error above (404) means that the server has not found anything
matching the Request-URI, however I am able to access on the browser the
exact URL that XFire is complaining and throwing that severe
error... ???

Need to know how can I resolve this problem.

Thanks in advance.


On Fri, 2007-04-05 at 12:50 -0400, Dragos Pavel wrote: 
> Hi and Thank You Tomek.
> 
> Here is the SOAP message intercepted:
> -------------------------------------------------------------------------------------
> POST /energylixar/ HTTP/1.1
> SOAPAction: "http://localhost:8080/energylixar/Service/PutDeviceStatus";
> Content-Type: text/xml; charset=UTF-8
> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; XFire
> Client +http://xfire.codehaus.org)
> Host: 127.0.0.1:9080
> Expect: 100-continue
> Content-Length: 2930
> 
> 
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>    <soap:Body>
>       <PutDeviceStatus
> xmlns="http://localhost:8080/energylixar/Service";>
>          <User
> xmlns="http://localhost:8080/energylixar/Service";>...</User>
>          <Password
> xmlns="http://localhost:8080/energylixar/Service";>...</Password>
>          <ns2:DeviceStatusMessageDoc xmlns=""
> xmlns:ns2="http://localhost:8080/energylixar/Service";>
>             <CreationDate>2007-03-31T15:03:59</CreationDate>
>             <SequenceNumber>2</SequenceNumber>
>             <Version>test</Version>
>             <Devices>
>                <Device>
>                   <SKU>BECHG</SKU>
>                   <BECSRefId>2557</BECSRefId>
>                   <SerialNumber>112353325633465</SerialNumber>
>                   <ConsumerId>3455543</ConsumerId>
>                   <DeviceStatus>Active</DeviceStatus>
> 
> <DeviceStatusEffectiveDate>2007-04-02T15:03:59</DeviceStatusEffectiveDate>
>                </Device>
> ...all this is correct...
>                <Device>
>                   <SKU>BECHVC</SKU>
>                   <BECSRefId>2565</BECSRefId>
>                   <SerialNumber>A-95753256</SerialNumber>
>                   <ConsumerId>3562</ConsumerId>
>                   <DeviceStatus>Inactive</DeviceStatus>
> 
> <DeviceStatusEffectiveDate>2007-04-03T17:55:55</DeviceStatusEffectiveDate>
>                </Device>
>             </Devices>
>          </ns2:DeviceStatusMessageDoc>
>       </PutDeviceStatus>
>    </soap:Body></soap:Envelope>
> -------------------------------------------------------------------------------------
> 
> What I find strange is this tag:
>          <ns2:DeviceStatusMessageDoc xmlns=""
> xmlns:ns2="http://localhost:8080/energylixar/Service";>
> I don't have any reference to this ns2 in my wsdl file and though is
> being created, can you help me understand why ? Anyway I think is wrong
> with xmlns="" empty...
> Beside this I don't know what else is wrong in my DOCTYPE declaration.
> 
> Many Thanks.
> 
> 
> 
> On Fri, 2007-04-05 at 17:49 +0200, Tomek Sztelak wrote: 
> > Hi
> > Try to use TCPMON to intercept soap message and see how DOCTYPE
> > declaration looks like.
> > 
> > You can find description how to upgrade XFire jars here :
> > http://www.myeclipseide.com/PNphpBB2-viewtopic-t-15926-sid-32abfe283bfd00f8160332ebe265c301.html
> > 
> > On 5/4/07, Dragos Pavel <[EMAIL PROTECTED]> wrote:
> > > Hi All,
> > >
> > > I'm attempting to implement top-down web services using MyEclipse5.5M2
> > > (with XFire 1.2.4) with XFire JAXB2 xml binding, deploying on a JBoss AS
> > > running on Linux. My wsdl interface that I created passed the validation
> > > fine. I developed the service implementation class for my web service
> > > interface, created and coded the test client but when I try to execte
> > > this client to verify my web service I get this exception:
> > >
> > >
> > > Exception from ServiceClient: Could not invoke service.. Nested
> > > exception is org.codehaus.xfire.fault.XFireFault: Unexpected character
> > > '"' (code 34) in DOCTYPE declaration; expected a space between public
> > > and system identifiers
> > >  at [row,col {unknown-source}]: [4,63]
> > >
> > >
> > > Any idea about this issue?
> > >
> > > I found this thread on the myeclipse forum:
> > >
> > > http://www.myeclipseide.com/PNphpBB2+file-viewtopic-t-14600.html
> > >
> > > but funny enough the replies were on other topics not on the subject the
> > > first person posted and initiated the thread.
> > >
> > > Please help me with this if you can,
> > > Thanks in advance,
> > > Dragos
> > >
> > > PS: if anybody has knowledge about how to upgrade XFire in MyEclipse to
> > > be able to use the latest 1.2.6 release please let us know; the problem
> > > is that MyEclipse is organizing the XFire libraries in a different way,
> > > more precise: the MyEclipse organization done for the XFire and other
> > > large-frameworks like Spring, is to partition them off to help make
> > > managing them a little bit easier. It was suggested this:
> > > "What you *could* do is just remove all the MyEclipse XFire libraries
> > > from your build path, and go drop the 1.2.5-all JAR into your WEB-
> > > INF/lib directory instead."
> > > Well I tried that (droped the 1.2.5 jar into the lib directory and
> > > removed the original XFire libraries from the path) but it doesn't
> > > work...
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe from this list please visit:
> > >
> > >     http://xircles.codehaus.org/manage_email
> > >
> > >
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to