What to send

When I use the WDSL file that comes whit the SOAP function to Tamino and make a class of it by importing it to C#
how do I make a request so that I can retrive a document from tamino whit the retrive comand

I would love a example
i can do it whit the xquery But what is the object I am suposed to send???

  /// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="urn:TaminoSOAPService", ResponseNamespace="urn:TaminoSOAPService")]
        [return: System.Xml.Serialization.SoapElementAttribute("doc1")]
        public object retrieve(object doc2) {
            object[] results = this.Invoke("retrieve", new object[] {
                        doc2});
            return ((object)(results[0]));
        }



What is doc2???

I’m afraid that I am alittle confused by this question. Is the “retrieve” method that you are attempting to invoke the TaminoCommand.Retrieve(ITaminoDocument document) or something else?

what I want to know is the comand to retrive a document from tamino whit soap Not whit the
TaminoCommand.Retrieve(ITaminoDocument document)
But the SOAP command

Hi DBB,

if you are unsure how a certain SOAP method works, its always the easiest to look at the testsuite that comes with the Tamino SOAP Service. Its in the directory “testsuite” and in this case the java class “TaminoSOAPCRUDTest.java” gives an example of the retrieve:


Element elem2=createEmptyPropertyInstance(inoid);

invoker.invoke(“retrieve”,new Element {elem2},vec);


private Element createEmptyPropertyInstance(String inoid) {
return createInstanceFromString(“”);
}

So in retrieve an xml document with the right root-tag which is the doctype and the ino:id attribute is expected.

Of course you can do the same in other languages like C#.

hope that helps

christian campo

p.s. There is forum dedicated to the SOAP Service, called Tamino SOAP Service which can be found here. http://tamino.forums.softwareag.com/viewforum.php?f=22

[This message was edited by Christian Campo on 04 Jun 2003 at 10:07.]

I can see this in the java example but this is no where in a C# example and i am new to C# so I am lost here can you show me an example or :)?

What you should be able to do is:

  
			XmlDocument doc = new XmlDocument();
			doc.LoadXml("<SomeRootElement xmlns:ino='http://namespaces.softwareag.com/tamino/response2' ino:id='1'/>");
			XmlElement[] e = {doc.DocumentElement} ;
			object b = tamino.retrieve(e);


to get ino:id=1 of some document type called SomeRootElement.

But there is a problem. The document is returned without the ino: namespace declaration so parsing of the response SOAP document fails.

My advise to you: if you are using c# it is better to use the Tamino API for .Net; its much easier to use IMO :slight_smile:

Hope this helps.

Stuart Fyffe-Collins
Software AG (UK) Ltd.

Thanks for the answare Stuart I have used the .NET API and yes it is muche easyer to use But I have that problem that we would like to get all over transaction to and from Tamino to go by SOAP and not a direct conection.
So I have to use the soap interface becusse of scaling and spliting up the diferent levels in the programming
Client->SOAP-> Tamino ->Soap->Client
I would also think this is the best metode to do this is it not?

I do what you told me and I then get this in return.

 An unhandled exception of type 'System.Web.Services.Protocols.SoapException' occurred in system.web.services.dll

Additional information: NestedException:Problems during parsing input stream and building DOM document.
NestedException:C:\WINNT\system32\dtbook110.dtd (The system cannot find the file specified) 



Is there some way I can point to the DTD so that it find it localy
Thanks for any help here.