Tn

hello,
I have an urgent problem, I sent a xml document type in TN and TN does not recognize this document, I document type “unknown”
to send the document in TN I used: routexml
xmlstringtoxmlnode,xmlnodetoxmldocument,addcontentPart
Can someone help me solve this problem

Hi,
Set the TN_parms/DoctypeName as the Document Type Name, and TN_parms/Type as ‘text/xml’ before you invoke routeXml. This should do the trick
Regards,
Pradeep

I did not understand what you meant is that you can explain in more detail

Have you created the document type on TN for the document you are routing to it?

so I created a document type in TN

Hi,
As I understand you should be using the following services for posting this XML
pub.xml:xmlStringToXMLNode
wm.tn:receive (set the Node from the above output) or use routeXml

wm.tn:receive has TN_parms as input, so create a map step before tn:receive and set a parameter ‘DoctypeName’ as the TN document type name under a document defined as ‘TN_parms’. This process would hint TN to match the incoming document to the document given in TN_parms. So, even though your identifying queries are not set/incorrect, TN forces itself to recognise the document type as the one set in TN_parms.

Regards,
Pradeep
query.jpg

I managed to send the document in TN and was recognized, now I want to create a flow that I will make as a service to run in “Processing rule” that allows you to extract the order and put in the hard disc and change the status, what is the flow?

You don’t need to use any service to invoke a processing rule. On TN, just go to the processing rule tab. Select the Create new processing rule option. A new tab will appear in front of you where you can give the processing rule name. There will be four tabs, first tab will be for criteria. If you haven’t specified any sender or receiver, leave them as any. In the document type section select the ‘Selected’ option. Browse by clicking on the browsing button on left. This will display a list of document types. Select the document type that you hv created.

In the third tab Action. There are various options with checkboxes. One of them is for executing a service. You can select a service you want to execute in this option. The service will be executed once this rule is invoked. Also you can change the user status accordingly by checking the third option there and providing the stsatus that you want to display.

When you route a document to TN, if no processing rule is specified for that doc then the default processing rule is selected. You can see this in the transactions section by double clicking on the document typet hat you hv routed to TN. A tab will appear which will show the activity log.

Also one thing to rmmbr, the processing rules are invoked in the order they are listed in the processing rule section. So if the Default rule is above the processing rule u created then the default rule will be executed first.

For more info please refer to the TN user guide.

NB: see the attached file

I did exactly the same as what you have described The service will be executed once this rule is invoked, but the following error:

com.wm.app.tn.err.EXMLException:

wm.tn.doc:getContentPart

com.wm.app.b2b.server.ServiceException
“bizdoc” is required.
com.wm.app.b2b.server.ServiceException: “bizdoc” is required.
at wm.tn.doc.getContentPart(doc.java:387)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at c

In t he service extractOrder, please try putting savePipelineToFile and restorePipelineFromFile services in the beginning (I m here assuming that u know how to use them). Keep the save pipeline enalbled. Execute this service once by invoking the processing rule, the normal procedure of urs. Then, try to disable save pipeline and enable restore pipeline service. step run it. After executing the restore pipeline step. See if you san see the bizdoc document on the rgt side in the resultsd section. If so, copy the doc from there, paste it in the input part of the pipeline section at the step where you hv called the service getContentPart and map it the bizdoc input.

By doing this you are basically assuming that the doc is present in the pipeline and you are picking it from there.

I did what you have said but I have the following error

java.lang.NullPointerException

I think the problem comes from the name of the file that I want to write according to the current date and “Ordernumber” see the details of the error in the attachment

on “ExtractOrder” I put:
SavePipeLineTofile
RestorePipeLinefromFile
getContentPart
CCC.Utils.utils: WriteFile (to write on a file)

I run when I have the following error: “java.lang.NullPointerException”
and when I do " trace to here" I have the result on the attached file
What I have to input?

I am sorry but I am unable to make out on which step you are getting the exception.

Now the case is recognized in TN, I have a problem to write on the local disk and here in the file services:
Receive_test: who can send the doc to TN
ExtractOrder: who can write on the local disk
and when I run I have the following error

com.wm.app.b2b.server.ServiceException: [ISC.0049.9005] Input validation for service ‘TN: ExtractOrder’ failed: ‘/ bizDoc / InternalID VV-005 [ISC.0082.9034] Field is absent, field must exist’