[JBoss jBPM] - Fault calling BPEL webservice containing a date
by kimbaltrue
On the server I'm using Java 5.0, JBoss AS 4.2.2.GA, and jBPM BPEL 1.1.1.
The client is using Java 6.x
I have a simple BPEL script that receives a request with a complex type schema and replies with a string. I generated stub WS classes using Java 6.0 for the test client and when I leave the date fields blank the webservice call works and returns the expected result.
However, when I place date objects in the message the service fails with:
| 17:36:15,296 ERROR [SOAPFaultHelperJAXRPC] SOAP request exception
| org.jboss.ws.WSException: org.jboss.ws.core.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to pars
| e source: Failed to set value 'java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.Zo
| neInfo[id="GMT-05:00",offset=-18000000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=
| ?,YEAR=2009,MONTH=1,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=4,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=?,HOUR=?,HOUR_OF_DAY=1
| 7,MINUTE=36,SECOND=13,MILLISECOND=187,ZONE_OFFSET=?,DST_OFFSET=?]' for property 'opened' defined in org.tempuri.AcctOpeningBPEL.CaseFolderRef on
| instance org.tempuri.AcctOpeningBPEL.CaseFolderRef@eaea8e
| at org.jboss.ws.core.soap.XMLContent.unmarshallObjectContents(XMLContent.java:250)
| at org.jboss.ws.core.soap.XMLContent.transitionTo(XMLContent.java:97)
| at org.jboss.ws.core.soap.DOMContent.transitionTo(DOMContent.java:77)
| at org.jboss.ws.core.soap.SOAPContentElement.transitionTo(SOAPContentElement.java:140)
| at org.jboss.ws.core.soap.SOAPContentElement.getObjectValue(SOAPContentElement.java:171)
| at org.jboss.ws.core.EndpointInvocation.transformPayloadValue(EndpointInvocation.java:263)
| at org.jboss.ws.core.EndpointInvocation.getRequestParamValue(EndpointInvocation.java:115)
| at org.jboss.ws.core.EndpointInvocation.getRequestPayload(EndpointInvocation.java:135)
| at org.jboss.ws.core.server.DelegatingInvocation.getArgs(DelegatingInvocation.java:82)
| at org.jboss.wsf.container.jboss42.DefaultInvocationHandler.invoke(DefaultInvocationHandler.java:102)
| at org.jboss.wsf.container.jboss42.DefaultInvocationHandlerJAXRPC.invoke(DefaultInvocationHandlerJAXRPC.java:57)
| at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:220)
| at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408)
| 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:127)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| 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:262)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: org.jboss.ws.core.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Faile
| d to set value 'java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT-
| 05:00",offset=-18000000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=2009,MON
| TH=1,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=4,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=?,HOUR=?,HOUR_OF_DAY=17,MINUTE=36,SEC
| OND=13,MILLISECOND=187,ZONE_OFFSET=?,DST_OFFSET=?]' for property 'opened' defined in org.tempuri.AcctOpeningBPEL.CaseFolderRef on instance org.te
| mpuri.AcctOpeningBPEL.CaseFolderRef@eaea8e
| at org.jboss.ws.core.jaxrpc.binding.JBossXBDeserializer.deserialize(JBossXBDeserializer.java:111)
| at org.jboss.ws.core.jaxrpc.binding.JBossXBDeserializer.deserialize(JBossXBDeserializer.java:62)
| at org.jboss.ws.core.binding.DeserializerSupport.deserialize(DeserializerSupport.java:60)
| at org.jboss.ws.core.soap.XMLContent.unmarshallObjectContents(XMLContent.java:180)
| ... 35 more
| Caused by: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Failed to set value 'java.util.GregorianCalendar[
| time=?,areFieldsSet=false,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT-05:00",offset=-18000000,dstSavings=0,useDayl
| ight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=2009,MONTH=1,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_M
| ONTH=4,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=?,HOUR=?,HOUR_OF_DAY=17,MINUTE=36,SECOND=13,MILLISECOND=187,ZONE_OFFSET=?,DST_OFF
| SET=?]' for property 'opened' defined in org.tempuri.AcctOpeningBPEL.CaseFolderRef on instance org.tempuri.AcctOpeningBPEL.CaseFolderRef@eaea8e
| at org.jboss.ws.core.jaxrpc.binding.jbossxb.JBossXBUnmarshallerImpl.unmarshal(JBossXBUnmarshallerImpl.java:65)
| at org.jboss.ws.core.jaxrpc.binding.JBossXBDeserializer.deserialize(JBossXBDeserializer.java:103)
| ... 38 more
| Caused by: org.jboss.xb.binding.JBossXBException: Failed to parse source: Failed to set value 'java.util.GregorianCalendar[time=?,areFieldsSet=fa
| lse,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT-05:00",offset=-18000000,dstSavings=0,useDaylight=false,transitions
| =0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=2009,MONTH=1,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=4,DAY_OF_YEAR=?,D
| AY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=?,HOUR=?,HOUR_OF_DAY=17,MINUTE=36,SECOND=13,MILLISECOND=187,ZONE_OFFSET=?,DST_OFFSET=?]' for property '
| opened' defined in org.tempuri.AcctOpeningBPEL.CaseFolderRef on instance org.tempuri.AcctOpeningBPEL.CaseFolderRef@eaea8e
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:179)
| at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:126)
| at org.jboss.ws.core.jaxrpc.binding.jbossxb.JBossXBUnmarshallerImpl.unmarshal(JBossXBUnmarshallerImpl.java:61)
| ... 39 more
| Caused by: org.jboss.xb.binding.JBossXBRuntimeException: Failed to set value 'java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsS
| et=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT-05:00",offset=-18000000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
| ,firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=2009,MONTH=1,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=4,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_
| OF_WEEK_IN_MONTH=?,AM_PM=?,HOUR=?,HOUR_OF_DAY=17,MINUTE=36,SECOND=13,MILLISECOND=187,ZONE_OFFSET=?,DST_OFFSET=?]' for property 'opened' defined i
| n org.tempuri.AcctOpeningBPEL.CaseFolderRef on instance org.tempuri.AcctOpeningBPEL.CaseFolderRef@eaea8e
| at org.jboss.xb.binding.introspection.FieldInfo.setValue(FieldInfo.java:251)
| at org.jboss.xb.binding.sunday.unmarshalling.impl.runtime.RtUtil.set(RtUtil.java:248)
| at org.jboss.xb.binding.sunday.unmarshalling.impl.runtime.RtElementHandler.setParent(RtElementHandler.java:320)
| at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.setParent(SundayContentHandler.java:1189)
| at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.endElement(SundayContentHandler.java:1115)
| at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.endElement(SundayContentHandler.java:246)
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$DelegatingContentHandler.endElement(SaxJBossXBParser.java:296)
| at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
| at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source)
| at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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:175)
| ... 41 more
| Caused by: java.lang.IllegalArgumentException: Wrong arguments. setOpened for target org.tempuri.AcctOpeningBPEL.CaseFolderRef@eaea8e expected=[j
| ava.lang.String] actual=[java.util.GregorianCalendar]
| at org.jboss.xb.binding.introspection.FieldInfo$SetValueAccessFactory$2.set(FieldInfo.java:121)
| at org.jboss.xb.binding.introspection.FieldInfo.setValue(FieldInfo.java:247)
| ... 58 more
|
The Schema definition for the field that's failing is:
<xs:element minOccurs='0' name='Opened'
| type='xs:anySimpleType' />
|
The jaxb annotations for this field in the client are:
| /**
| * Gets the value of the opened property.
| *
| * @return
| * possible object is
| * {@link Object }
| *
| */
| @XmlElement(name = "Opened")
| @XmlSchemaType(name = "anySimpleType")
| public Object getOpened() {
| return opened;
| }
|
This was originally generated code, and has not significantly changed from the generated version.
The SOAP Message going out is:
| <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
| <S:Body>
| <ns1:processCase xmlns:ns1="http://bpel.ccf.org"
| xmlns:ns3="http://legion.ccf.org">
| <info ns1:version="1.0">
| <ns1:UserId>1234/teller</ns1:UserId>
| <Folder>
| <CaseFolderId>23</CaseFolderId>
| <FinInstKey>1234</FinInstKey>
| <Cuid>000d0d9</Cuid>
| <ProcessName>AccountOpen</ProcessName>
| <Title>Some Title</Title>
| <Creator>1234/teller</Creator>
| <Disposition>OPENED</Disposition>
| <Opened xmlns:xs="http://www.w3.org/2001/XMLSchema"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:dateTime">
| 2009-02-04T17:36:13.187-05:00</Opened>
| <Owner>1234/teller</Owner>
| <Content>
| <ContentId>1</ContentId>
| <VarName>PaitentProfile</VarName>
| <Namespace>PatientProfile.xsd</Namespace>
| <Version>0</Version>
| <Provider>local</Provider>
| </Content>
| </Folder>
| </info>
| </ns1:processCase>
| </S:Body>
| </S:Envelope>
|
The fault message being returned is:
| <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
| <env:Header />
| <env:Body>
| <env:Fault>
| <faultcode>env:Server</faultcode>
| <faultstring>org.jboss.ws.core.binding.BindingException:
| org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed
| to parse source: Failed to set value
| 'java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT-05:00",offset=-18000000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=2009,MONTH=1,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=4,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=?,HOUR=?,HOUR_OF_DAY=17,MINUTE=36,SECOND=13,MILLISECOND=187,ZONE_OFFSET=?,DST_OFFSET=?]'
| for property 'opened' defined in
| org.tempuri.AcctOpeningBPEL.CaseFolderRef on instance
| org.tempuri.AcctOpeningBPEL.CaseFolderRef@eaea8e</faultstring>
| </env:Fault>
| </env:Body>
| </env:Envelope>
|
Is there something else I should be doing here? Should I try to replace the generated code with XmlGregorianCalendar code? Do I have to resort to using a simple string rather than dealing with a date value?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4207164#4207164
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4207164
15 years, 7 months
[JBoss jBPM] - Copy a ProcessDefinition Java object in memory
by mgommeringer
Hi all,
this may be a stupid question but since I did not find any hints I will post it nevertheless.
I use JBPM without storing the processdefinition in the database in a JEE environment. I only parse the processdefinition.xml once and (re)use the ProcessDefinition java object. Since I want to ensure that Threads do not disturb each other (Actions for example are instantiated once and the reused always which may cause trouble if an implementor of an action stores local variables) I need to create a new ProcessDefinition in every invocation of my EJB. My preferred way to do this would be to invoke a copy-constructor or a clone method instead of parsing the XML every time; like this I can save the cost of the XML parsing.
Is there a simple way to copy a ProcessDefinition object? Or should I use some bean utility library? If so, can somebody recommend me one?
Thanks a lot and regards,
matthias
P.S.: jBPM is really cool! Thanks for this great work!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4207142#4207142
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4207142
15 years, 7 months
[JBoss jBPM] - Re: Problem deploying on JBoss 5
by rogerio.baldini
Hi guys...
I am getting this error as well and I don't know the solution...
Can anybody help me ?
I've already changed lib to jsf-facelets-1.1.15.B1.
Thanks,
Rogerio
15:51:37,668 ERROR [viewhandler] Error Rendering View[/app/procdef.xhtml]
| java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
| at javax.faces.component.UISelectBoolean.isSelected(UISelectBoolean.java:106)
| at com.sun.faces.renderkit.html_basic.CheckboxRenderer.getEndTextToRender(CheckboxRenderer.java:137)
| at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:160)
| at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
| at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
| at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
| at org.jboss.gravel.common.renderer.RendererBase.doEncode(RendererBase.java:80)
| at org.jboss.gravel.common.renderer.RendererBase.doEncode(RendererBase.java:96)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4207082#4207082
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4207082
15 years, 7 months