Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Talend Cloud AWS EU Scheduled Outage: Starting Tues 26 May 21:00 CEST with expected completion Wed 27 May 01:00 CEST
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

tMDMOutput issue with Partial Update

Hi,
I am re-posting my issue, as it seems to have disappeared without any notification 0683p000009MPcz.png
I'm using Talend Open Studio for MDM 5.4.1(r111943) to manage a few databases and trying to aggregate user data while retaining all IDs across databases.
Basically I'm using a table with a nested set of two values (Database and ID), which can be repeated multiple times. Creating the first record with the first database and ID (and other data) works normally, but when I try to update the record with a second set of DB+ID values I get the following error:

=== Error ===
org.jboss.ws.core.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element report is not allowed in this position in the sequence. The next element should be xml - Line: 0


I am not sure what exactly is the problem and the documentation on the partial update does not include e.g. what should the XML look like, etc. Also a search for this problem yielded no results (related to talend)... I suspect database_id has some problems with its schema, but have no idea what those could be...
Also:
Pivot = "/Users/database_id"
Key = "" (also tried ".")
database_id is an enum type with 2 options (as strings)
I'm attaching the XML schema and the XML for the tMDMOutput component.
Here's the XML schema for the users table:




















At this point I am at a loss and any help/ideas would be greatly appreciated!
Thanks in advance,
vlsi
0683p000009MAMU.jpg

Labels (2)
7 Replies
Anonymous
Not applicable
Author

Hi,
Sorry to hear a previous post has gone missing (forum administrators may look into this in case there's an actual issue there).
Could you provide the complete exception (not only the top level message but everything):
org.jboss.ws.core.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element report is not allowed in this position in the sequence. The next element should be xml - Line: 0

Please look in server's log (you may right on your MDM server in the "Server explorer" view and select "View log") if there isn't any obvious message that gives a hint on what's wrong.
Anonymous
Not applicable
Author

Hi fhuaulme,
thanks for the fast reply. Actually Shong mailed me shortly after it disappeared to check what happened to my topic, but since I haven't heard from him in a while (and haven't fixed the problem yet), decided to re-post.
Here's the full error log:
ERROR SOAP request exception
org.jboss.ws.WSException: org.jboss.ws.core.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element report is not allowed in this position in the sequence. The next element should be xml
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.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.InvocationHandlerEJB21.getMBeanInvocation(InvocationHandlerEJB21.java:169)
at org.jboss.wsf.container.jboss42.InvocationHandlerEJB21.invoke(InvocationHandlerEJB21.java:144)
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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
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.authenticator.SingleSignOn.invoke(SingleSignOn.java:393)
at org.apache.catalina.authenticator.MDMSingleSignOn.invoke(MDMSingleSignOn.java:73)
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:722)
Caused by: org.jboss.ws.core.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element report is not allowed in this position in the sequence. The next element should be xml
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)
... 37 more
Caused by: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element report is not allowed in this position in the sequence. The next element should be xml
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)
... 40 more
Caused by: org.jboss.xb.binding.JBossXBException: Failed to parse source: Requested element report is not allowed in this position in the sequence. The next element should be xml
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)
... 41 more
Caused by: org.jboss.xb.binding.JBossXBRuntimeException: Requested element report is not allowed in this position in the sequence. The next element should be xml
at org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding$1.startElement(SequenceBinding.java:219)
at org.jboss.xb.binding.sunday.unmarshalling.ModelGroupBinding$Cursor.startElement(ModelGroupBinding.java:159)
at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.startElement(SundayContentHandler.java:364)
at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$DelegatingContentHandler.startElement(SaxJBossXBParser.java:324)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(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)
... 43 more

Thanks!
Anonymous
Not applicable
Author

Could you check the XML of the record you send to MDM? (use a tLogRow for example).
Anonymous
Not applicable
Author

Hi,
main output comes empty, here's the reject one (removed any real DB values, but they were correct). Or did you need a tLogRow before the tMDMOutput? This tLogRow is set to table and I notice it's not only xml that's coming out, is that normal?
|=---+----------+---------+---------+-----------------------+------------+-----------------------+---------+--------+----------------+------------------------------------------------------------------------------------------------------------------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=|
|id |first_name|last_name|full_name|created_at |updated_by |updated_at |is_active|database|db_id |xml |errorCode|errorMessage |
|=---+----------+---------+---------+-----------------------+------------+-----------------------+---------+--------+----------------+------------------------------------------------------------------------------------------------------------------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=|
|ID |fname |lname |fullname |2014-05-14T14:58:48.742|000 |2014-05-14T14:58:48.742|true |DBname |DBID |
<USERS>
<ID>ID</ID>
<DATABASE_ID>
<DATABASE>DBname</DATABASE>
<DB_ID>DBID</DB_ID>
</DATABASE_ID>
</USERS>
|null |org.jboss.ws.core.binding.BindingException: org.jboss.ws.core.jaxrpc.binding.jbossxb.UnmarshalException: Failed to parse source: Requested element report is not allowed in this position in the sequence. The next element should be xml - Line: 0|
'----+----------+---------+---------+-----------------------+------------+-----------------------+---------+--------+----------------+------------------------------------------------------------------------------------------------------------------------------------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
Anonymous
Not applicable
Author

Hi again,
if nothing comes to mind could someone please post a working partial update config, so that I can compare (and adapt I guess)? Thanks in advance!
Anonymous
Not applicable
Author

Hi, I have the same error, have you solved the pb?
Anonymous
Not applicable
Author

Hi msallami,
unfotrunately I have not... I made a workaround by just putting separate id fields for each DB, it's not a real solution, but it's doable for me as I only have a fixed set of 2 databases (for now). The problem is if you want to make it dynamic/extendable after that, you have to rewrite a lot of the logic, but nothing else I could do for now, as I am out of time for this project.
If you come across a solution, please post it here, thanks!