2 Replies Latest reply on Apr 9, 2008 4:56 PM by thomas.diesler

    Problems with WSConsume tool after upgrading to JBossWS 3.0.

    gessedafe

      Hi everyone,

      I downloaded the JBossWS 3.0.1 Native 2.0.4 GA this morning. I was using the previous release and facing some problems with the issue JBWS-1763 (problems with charset encoding).
      This new version solved my problem, as announced... But, it also gave me a new problem... It happens when I try to run the wsconsume tool using ANT Build (WSConsumeTask).
      I think this problem was not present in previous release, because just using the previous jar files in my ant classpath makes my application work again.


      Here is a simple evidence:

      ---------------------------------------------------------------------------
      Error shown in Eclipse console:
      ---------------------------------------------------------------------------

      [wsconsume] Consuming wsdl: ../src/META-INF//TestCase.wsdl
      [wsconsume] Command invoked: org.jboss.wsf.spi.tools.cmd.WSConsume -k -w src/META-INF//TestCase.wsdl -o C:\Desenvolvimento\Java\Workspaces\Europa\TestCase\classes -s C:\Desenvolvimento\Java\Workspaces\Europa\TestCase\gen -v ../src/META-INF//TestCase.wsdl
      [wsconsume] Exception in thread "main" java.lang.AbstractMethodError: org.jboss.wsf.spi.tools.WSContractConsumer.setExtension(Z)V
      [wsconsume] at org.jboss.wsf.spi.tools.cmd.WSConsume.importServices(WSConsume.java:199)
      [wsconsume] at org.jboss.wsf.spi.tools.cmd.WSConsume.main(WSConsume.java:81)


      ---------------------------------------------------------------------------
      My WSDL sample file:
      ---------------------------------------------------------------------------

      <?xml version="1.0" encoding="UTF-8"?>
      <wsdl:definitions
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
      xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:schema="http://www.sysmap.com.br/schemas/testcase"
      xmlns:tns="http://www.sysmap.com.br/webservices/testcase"
      targetNamespace="http://www.sysmap.com.br/webservices/testcase"
      name="TestCaseServiceDefinition">

      <wsdl:types>
      <xs:schema
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://www.sysmap.com.br/schemas/testcase"
      xmlns:tns="http://www.sysmap.com.br/schemas/testcase"
      elementFormDefault="qualified">

      <xs:element name="myOperationRequest" type="tns:MyOperationRequest" />
      <xs:element name="myOperationResponse" type="tns:MyOperationResponse" />

      <xs:complexType name="MyOperationRequest">
      <xs:attribute name="param" type="xs:string" />
      </xs:complexType>

      <xs:complexType name="MyOperationResponse">
      <xs:attribute name="result" type="xs:string" />
      </xs:complexType>
      </xs:schema>
      </wsdl:types>

      <wsdl:message name="myOperationRequestMessage">
      <wsdl:part name="body" element="schema:myOperationRequest" />
      </wsdl:message>

      <wsdl:message name="myOperationResponseMessage">
      <wsdl:part name="body" element="schema:myOperationResponse" />
      </wsdl:message>

      <wsdl:portType name="TestCasePortType">
      <wsdl:operation name="myOperation">
      <wsdl:input name="myOperationInput" message="tns:myOperationRequestMessage" />
      <wsdl:output name="myOperationOutput" message="tns:myOperationResponseMessage" />
      </wsdl:operation>
      </wsdl:portType>

      <wsdl:binding name="TestCaseBinding" type="tns:TestCasePortType">
      <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
      <wsdl:operation name="myOperation">
      <wsdlsoap:operation soapAction="http://www.sysmap.com.br/webservices/testcase/TestCaseService/myOperation" />
      <wsdl:input name="myOperationInput">
      <wsdlsoap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="myOperationOutput">
      <wsdlsoap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>

      <wsdl:service name="TestCaseService">
      <wsdl:port name="TestCasePort" binding="tns:TestCaseBinding">
      <wsdlsoap:address location="http://www.sysmap.com.br/webservices/testcase/TestCaseService" />
      </wsdl:port>
      </wsdl:service>

      </wsdl:definitions>


      ---------------------------------------------------------------------------
      My build.xml snippet:
      ---------------------------------------------------------------------------

      < path id="build.classpath">
      < fileset dir="C:/Desenvolvimento/Java/Servers/jboss-4.2.2.GA/client/" includes="*.jar" />
      </ path>

      < taskdef name="wsconsume" classname="org.jboss.wsf.spi.tools.ant.WSConsumeTask">
      < classpath refid="build.classpath" />
      </ taskdef>

      < wsconsume fork="true" verbose="true" keep="true"
      destdir="classes/"
      sourcedestdir="gen/"
      wsdllocation="/META-INF/TestCase.wsdl"
      wsdl="/META-INF/TestCase.wsdl">
      </ wsconsume>


      ----

      Thanks for your attention!
      Hugs...