I am trying to send a xml file from on IS to another IS using the HTTPS protocol. When i send the xml from the client I receive an OK so the xml is send properly. On the IS server my result is the following:
name : node
value : com.wm.lang.xml.Node:-1:539729959
When I send it through HTTP the XML document is well received and I am quite sure that the certificates are installed properly.
Does anybody know how to resolve this issue? What does this value mean?
How did you setup the Port on IS?
Its important to free the needed servics and a specific protocol, f.e. http OR https or ftp aso
the port i call on the IS as server is configured as an https port (number is 1234) and is working fine. The port as access rights set to accept all(Allow by Default ).
The URL i use is http://tech.forums.softwareag.com:1234/invoke/Test/receiveOverHTTP
At the moment i am using a local IS that serves as client and as server…
I also have another http port running as primary port.
Not sure how to solve this but the return values refer to an IData object. Probably the one your trying to pass. Are you using a content handler?
Sounds to me like the system recognizes the input as XML and is automatically creating the node. Did you specify the content type as text/xml? Are you sending in an input signature of $xmldata? This will also create the node object automatically.
Not explicitly. I mean that I didnt use a self made content handler but
am using the default handler…
Im not sending it as $xmldata and content type is set as text/html
Im not sending it as $xmldata and content type is set as text/xml
It is an interesting condition from my standpoint. Can you use the built-in service pub.xml:xmlNodeToDocument to convert your node to a document? It will at least determine if you have a valid node because if not, the service will not convert it to a document.
If client service is pub.client.http, I wud check for the response header status after the http post to make sure it is 200.
I would also set the encoding parameter in the xml definition tag
<?xml version=“1.0” encoding=“UTF-8”?>
well i tried that and the document is empty.
When using the http protocol this document is filled with the values
of the xml…
Well, think of it like this: When you post your data into the system, the data has to have a name/value pair.
For example, the name could be $xmldata, and the value would be your data.
As a simple test, perhaps you can send in some data.
Create a flow with input of YourName. Inside the flow service, map the value of YourName into pub.flow:debugLog message input signature value. This will write the value of YourName into the server log so you can see what is coming through. Good for small values, wouldn’t recommend for large values.
With a simple html form, send in a text string with your name in it.
The name of the input variable on the html page is “YourName” and the value will be whatever you code. Whatever the value is, it should show up in the server log.
I have a feeling that the document you are posting does not have a variable assigned to it, so the server receives the communication but doesn’t know what to do with the data.
If you raise the level of your server debug log higher, you will eventually see the data coming through the post.
I think the problem is with your xml data. check with your encoding format. Try with this. this might help you.
The data is ok, because it works when sending it over http.
the variable (or the name) is “node” and the assigned value is the DATA
I can see the value/name pair coming in.
But as you say it seems that the server does not know its an xml or somehow the XML is corrupted by sending it over https.
Maybe I have to deencrypt the xml?
(will try what you suggest later on)