I'm using JBossWS 1.0.3 with JBossAS 4.0.4.GA.
This is my JSR-181 webservice pojo:
| @Stateless
| @WebService(endpointInterface =
"com.generalynx.gema.business.forecast.GBForecastSubmit")
| public class TestForecast implements GBForecastSubmit {
|
| public int submit(ForecastDocument forecastDocument) {
| System.out.println("forecastDocument = " + forecastDocument);
| return 0;
| }
|
| }
|
| --------------------
|
| @WebService
| @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
| public interface GBForecastSubmit extends Remote {
|
| @WebMethod
| int submit(ForecastDocument forecastDocument);
|
| }
|
I'm using GLUE on the client side.
This is the exception that I get when invoking WS from client:
| 14:37:52,892 DEBUG [SOAPMessage] Incomming SOAPMessage
| <soap:Envelope
xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:n3='http://forecast.business.gema.generalynx.com/jaws'
xmlns:n4='http://forecast.domain.gema.generalynx.com/jaws'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
| <soap:Header/>
| <soap:Body>
| <n3:submit
xmlns:n3='http://forecast.business.gema.generalynx.com/jaws'
xsi:type='n3:ForecastDocument'><n3:code
xsi:nil='1'/><n3:customer xsi:nil='1'/><n3:forecasts
xsi:type='n4:BasicForecast'><n4:creationDate
xsi:nil='1'/><n4:expectedValue
xsi:type='xsd:double'>1.0</n4:expectedValue><n4:forecastDate
xsi:nil='1'/><n4:variance
xsi:type='xsd:double'>2.0</n4:variance></n3:forecasts><n3:receiveDate
xsi:nil='1'/><n3:submitDate xsi:nil='1'/><n3:user
xsi:nil='1'/></n3:submit>
| </soap:Body></soap:Envelope>
| 14:37:53,767 DEBUG [SOAPFaultException] new SOAPFaultException
[
code={http://schemas.xmlsoap.org/soap/envelope/}Client,string=org.jboss.w...:
org.jboss.ws.jaxb.UnmarshalException: Failed to parse source: The prefix "xsi"
for attribute "xsi:type" associated with an element type "n3:submit"
is not bound. @ *unknown*[1,104],actor=null,detail=null]
| 14:37:53,767 ERROR [SOAPFaultExceptionHelper] SOAP request exception
| javax.xml.rpc.JAXRPCException: org.jboss.ws.binding.BindingException:
org.jboss.ws.jaxb.UnmarshalException: Failed to parse source: The prefix "xsi"
for attribute "xsi:type" associated with an element type "n3:submit"
is not bound. @ *unknown*[1,104]
| at org.jboss.ws.soap.SOAPContentElement.getObjectValue(SOAPContentElement.java:303)
| at
org.jboss.ws.binding.EndpointInvocation.transformPayloadValue(EndpointInvocation.java:233)
| at
org.jboss.ws.binding.EndpointInvocation.getRequestParamValue(EndpointInvocation.java:103)
| at
org.jboss.ws.binding.EndpointInvocation.getRequestPayload(EndpointInvocation.java:117)
| at
org.jboss.ws.integration.jboss.ServiceEndpointInvokerEJB3.invokeServiceEndpoint(ServiceEndpointInvokerEJB3.java:115)
| at
org.jboss.ws.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:115)
| at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:209)
| at
org.jboss.ws.server.ServiceEndpointManager.processSOAPRequest(ServiceEndpointManager.java:355)
| at
org.jboss.ws.server.StandardEndpointServlet.doPost(StandardEndpointServlet.java:115)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
| at
org.jboss.ws.server.StandardEndpointServlet.service(StandardEndpointServlet.java:76)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: org.jboss.ws.binding.BindingException:
org.jboss.ws.jaxb.UnmarshalException: Failed to parse source: The prefix "xsi"
for attribute "xsi:type" associated with an element type "n3:submit"
is not bound. @ *unknown*[1,104]
| at
org.jboss.ws.jaxrpc.encoding.JAXBDeserializer.deserialize(JAXBDeserializer.java:100)
| at org.jboss.ws.soap.SOAPContentElement.getObjectValue(SOAPContentElement.java:235)
| ... 29 more
| Caused by: org.jboss.ws.jaxb.UnmarshalException: Failed to parse source: The prefix
"xsi" for attribute "xsi:type" associated with an element type
"n3:submit" is not bound. @ *unknown*[1,104]
| at
org.jboss.ws.jaxb.JBossXBUnmarshallerImpl.unmarshal(JBossXBUnmarshallerImpl.java:67)
| at
org.jboss.ws.jaxrpc.encoding.JAXBDeserializer.deserialize(JAXBDeserializer.java:92)
| ... 30 more
| Caused by: org.jboss.xb.binding.JBossXBException: Failed to parse source: The prefix
"xsi" for attribute "xsi:type" associated with an element type
"n3:submit" is not bound. @ *unknown*[1,104]
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:156)
| at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:126)
| at
org.jboss.ws.jaxb.JBossXBUnmarshallerImpl.unmarshal(JBossXBUnmarshallerImpl.java:63)
| ... 31 more
| Caused by: org.xml.sax.SAXException: The prefix "xsi" for attribute
"xsi:type" associated with an element type "n3:submit" is not bound. @
*unknown*[1,104]
| at
org.jboss.xb.binding.parser.sax.SaxJBossXBParser$MetaDataErrorHandler.fatalError(SaxJBossXBParser.java:332)
| at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
| at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
| at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
| at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
| at
org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown
Source)
| at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
| at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
| at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
| at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
| at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
| at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
| at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:152)
| ... 33 more
| 14:37:53,798 DEBUG [SOAPMessage] Outgoing SOAPMessage
| <env:Envelope
xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
| <env:Header/>
| <env:Body>
| <env:Fault>
| <faultcode>env:Client</faultcode>
| <faultstring>org.jboss.ws.binding.BindingException:
org.jboss.ws.jaxb.UnmarshalException: Failed to parse source: The prefix "xsi"
for attribute "xsi:type" associated with an element type "n3:submit"
is not bound. @ *unknown*[1,104]</faultstring>
| </env:Fault></env:Body></env:Envelope>
|
This is generated wsdl
| <definitions name='GBForecastSubmitService'
targetNamespace='http://forecast.business.gema.generalynx.com/jaws'
xmlns='http://schemas.xmlsoap.org/wsdl/'
xmlns:ns1='http://forecast.domain.gema.generalynx.com/jaws'
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:tns='http://forecast.business.gema.generalynx.com/jaws'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
| <types>
| <schema elementFormDefault='qualified'
targetNamespace='http://forecast.domain.gema.generalynx.com/jaws'
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:ns1='http://forecast.business.gema.generalynx.com/jaws'
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:tns='http://forecast.domain.gema.generalynx.com/jaws'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
| <import
namespace='http://forecast.business.gema.generalynx.com/jaws'/>
| <complexType name='BasicForecast'>
| <sequence>
| <element name='creationDate' nillable='true'
type='dateTime'/>
| <element name='expectedValue' type='double'/>
| <element name='forecastDate' nillable='true'
type='dateTime'/>
|
| <element name='variance' type='double'/>
| </sequence>
| </complexType>
| </schema>
| <schema elementFormDefault='qualified'
targetNamespace='http://forecast.business.gema.generalynx.com/jaws'
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:ns2='http://forecast.domain.gema.generalynx.com/jaws'
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:tns='http://forecast.business.gema.generalynx.com/jaws'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
| <import
namespace='http://forecast.domain.gema.generalynx.com/jaws'/>
| <complexType name='ForecastDocument'>
| <sequence>
| <element name='code' nillable='true'
type='string'/>
|
| <element name='customer' nillable='true'
type='string'/>
| <element maxOccurs='unbounded' minOccurs='0'
name='forecasts' nillable='true' type='ns2:BasicForecast'/>
| <element name='receiveDate' nillable='true'
type='dateTime'/>
| <element name='submitDate' nillable='true'
type='dateTime'/>
| <element name='user' nillable='true'
type='string'/>
| </sequence>
| </complexType>
| </schema>
| </types>
|
| <message name='GBForecastSubmit_submitResponse'>
| <part name='result' type='xsd:int'/>
| </message>
| <message name='GBForecastSubmit_submit'>
| <part name='ForecastDocument_1' type='tns:ForecastDocument'/>
| </message>
| <portType name='GBForecastSubmit'>
| <operation name='submit' parameterOrder='ForecastDocument_1'>
| <input message='tns:GBForecastSubmit_submit'/>
|
| <output message='tns:GBForecastSubmit_submitResponse'/>
| </operation>
| </portType>
| <binding name='GBForecastSubmitBinding'
type='tns:GBForecastSubmit'>
| <soap:binding style='rpc'
transport='http://schemas.xmlsoap.org/soap/http'/>
| <operation name='submit'>
| <soap:operation soapAction=''/>
| <input>
| <soap:body
namespace='http://forecast.business.gema.generalynx.com/jaws'
use='literal'/>
|
| </input>
| <output>
| <soap:body
namespace='http://forecast.business.gema.generalynx.com/jaws'
use='literal'/>
| </output>
| </operation>
| </binding>
| <service name='GBForecastSubmitService'>
| <port binding='tns:GBForecastSubmitBinding'
name='GBForecastSubmitPort'>
| <soap:address
location='http://Morozevic:8080/BusinessImplementationEJB/TestForecast'/>
|
| </port>
| </service>
| </definitions>
|
Is this a problem of GLUE being to old?
This is the mapping file that I get generated from wsdl by GLUE:
| <?xml version='1.0' encoding='UTF-8'?>
| <!--generated by GLUE Standard 4.1.2 (wsdl2java) on Mon Oct 23 14:36:56 CEST
2006-->
| <map:mappings
xmlns:map='http://www.themindelectric.com/schema/'
xmlns:n1='http://forecast.domain.gema.generalynx.com/jaws'>
| <xsd:schema
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
elementFormDefault='qualified'
targetNamespace='http://forecast.business.gema.generalynx.com/jaws...
| <xsd:import
namespace='http://forecast.domain.gema.generalynx.com/jaws'/>
| <xsd:complexType name='ForecastDocument'
map:class='com.generalynx.gema.domain.forecast.ForecastDocument'>
| <xsd:sequence>
| <xsd:element name='code' nillable='true'
map:field='code' type='xsd:string'/>
| <xsd:element name='customer' nillable='true'
map:field='customer' type='xsd:string'/>
| <xsd:element name='forecasts' minOccurs='0'
maxOccurs='unbounded' nillable='true' map:field='forecasts'
type='n1:BasicForecast'/>
| <xsd:element name='receiveDate' nillable='true'
map:field='receiveDate' type='xsd:dateTime'/>
| <xsd:element name='submitDate' nillable='true'
map:field='submitDate' type='xsd:dateTime'/>
| <xsd:element name='user' nillable='true'
map:field='user' type='xsd:string'/>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:schema>
| <xsd:schema
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
elementFormDefault='qualified'
targetNamespace='http://forecast.domain.gema.generalynx.com/jaws'...
| <xsd:complexType name='BasicForecast'
map:class='com.generalynx.gema.domain.forecast.BasicForecast'>
| <xsd:sequence>
| <xsd:element name='creationDate' nillable='true'
map:field='creationDate' type='xsd:dateTime'/>
| <xsd:element name='expectedValue' map:field='expectedValue'
type='xsd:double'/>
| <xsd:element name='forecastDate' nillable='true'
map:field='forecastDate' type='xsd:dateTime'/>
| <xsd:element name='variance' map:field='variance'
type='xsd:double'/>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:schema>
| </map:mappings>
Rgds, Ales
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3980045#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...