Lunch sounds good. Any day but Monday (I’m working 4x10s now).
Thanks for those samples; it would have taken a while for me to have found them. It looks like I’m handling the output document correctly on the server side according to that sample. So the problem must be on the client side, which btw is running outside of webMethods, and I don’t know how to step it through in webMethods since the service is invoked from outside (is there a way to do that?), so I’m relying on logging debug info.
Today I created a test client flow to create the node so I can step it through within webMethods. I stepped it through and everything worked fine (I can see the output document data in the pipeline), which confirms my problem is on the client side. I’m following the client example found in the XMLServicesDevGuide (page 10 of the 6.1 version, or page 12 of the 6.5 version), which is different that the sample you mentioned (because it’s running outside webMethods). Here’s a code snippet:
[highlight=java]
// this defaults to binary format (RPC_BIN), but I’ve also tried
// RPC_IDAT and RPC_XML without success.
Context c = new Context();
c.setSecure(false); // use HTTP, not HTTPS
IData inputs = IDataFactory.create();
IDataCursor inputsCursor = inputs.getCursor();
// create the XML document
StringBuffer sb = new StringBuffer();
sb.append(“<?xml version=\"1.0\"?>”);
sb.append(“”);
sb.append(“”);
sb.append(“”);
sb.append(getCostCenter());
sb.append(“”);
sb.append(“”);
sb.append(getDCE());
sb.append(“”);
sb.append(“”);
sb.append(getWorkOrder());
sb.append(“”);
sb.append(“”);
sb.append(getTask());
sb.append(“”);
sb.append(“”);
sb.append(getABM());
sb.append(“”);
sb.append(“”);
sb.append(getFERC());
sb.append(“”);
sb.append(“”);
sb.append(getAccountType());
sb.append(“”);
sb.append(“”);
sb.append(getDescriptionForHost());
sb.append(“”);
sb.append(“”);
sb.append(“”);
sb.append(getValidate());
sb.append(“”);
sb.append(“”);
sb.append(getEmployeeID());
sb.append(“”);
sb.append(“”);
// Assign XML document to String variable
String xmldata = sb.toString();
// Put XML document into $xmldata in IData object
inputsCursor.insertAfter(“$xmldata”, xmldata);
// Submit request to server
c.connect(“localhost:5555”, “rws5997”, “rws5997”);
IData outputs = c.invoke(“glAccountTable.apps”,“addGLAccountKeyXmlWrapper”, inputs);
c.disconnect();
[/highlight]
This is pretty much what the example shows in the XML Services Dev guide, except for how the XML is built.
I’m attaching a .gif file to show what the document looks like in Developer. Per your suggestion, I won’t pursue the queryXmlNode. I’m sure I’m missing something simple.
Thanks for your help!