SetProperty makes an indirect call and handles some fixup of values (as does InvokeMethod) passed to it. It should pick up the binary value and assign it to the property.
That did it! Thanks Rick. Your explanation and the information in the "Array Handling" section of the docs did the trick!
I have one more question (of course) about the contents of the document that I will be sending to DocuSign. The sample code uses the following to read the bytes from the document (a pdf) into the document object:
doc.PDFBytes = System.IO.File.ReadAllBytes(Server.MapPath("resources/Loan.pdf"));
I have my Documents created and inserted in the Envelope with Recipients, but I just can't get the actual document contents into the PDFBytes array.
Here's my Document creation snippet:
loDoc = loProxy.oBridge.CreateInstance("APIService.Document")
lodoc.FileExtension='pdf'
lodoc.Name='test'
loBridge.CreateArrayOnInstance(loEnvelope,"Documents",loDoc)
I took this shot in the dark, but it didn't work:
lodoc.PDFBytes=FILETOSTR("testpdfapp.pdf")
Thanks for any and all your help Rick!
Yes you need to create the objects to pass as parameters using wwDotNetBridge.
Here is an example that demonstrates wwDotNetBridge usage:
http://www.west-wind.com/wsdlgenerator/docs?page=_2km016yg4.htm
Look at the Passing Complex Types section.
Basically you need to create your child objects as .NET objects and then access them using wwDotNetBridge. The code to do this will be:
loEnvelope = loProxy.oBridge.CreateInstance("DotNetNamespace.Envelope")
loEnvelope.Property = value
loEnvelope.Property2 = value2
loResult = loProxy.CreateEnvelope(loEnvelope)
You need to specify the fully qualified .NET type in CreateInstance which is namespace.classname in proper case. You can find this by looking at the generated .NET assembly (DLL) with Reflector and looking up the type. There you can see what properties are available and what sub types you might have to assign (ie. loEnvelope likely has other child objects which follow the same pattern).
+++ Rick ---
Thanks Rick. That's good news!
My experience with SOAP is extremely limited, so please bear with me. I can instantiate the object, but then it all falls apart ;) According to the DocuSign documentation, my first task is to create an envelope, but I try that and get the "Method 'APIService.APIService.CreateEnvelope' not found..." error message. I think it's because it expects an envelope parameter, as in:
FUNCTION CreateEnvelope(Envelope as Envelope) as EnvelopeStatus
But I can't figure out how to create the envelope outside of the CreateEnvelope method. From what you told me, the Proxy Generator has done it's job; now I have to figure out mine.
One last question though... the demo version will still work, correct (meaning it will perform all the functions in the class)? Once I figure it out I can purchase the license.
Thanks!
Kirk
Kirk,
It doesn't look like WS* service but a very complex one. There are also a bunch of operations that require authentication, but just looking at the WSDL it's hard to tell what's required actually.
What doesn't work exactly? If the classes generated then chances are good that the service can be called. WS* services would fail outright as they don't support the right protocol - the importer would fail.
+++ Rick ---
Hello.
I'm trying to incorporate an electronic signature feature into a Web Connection app, using a web service by DocuSign, and I've downloaded the Proxy Generator to see if it will help me. The WSDL file is at https://www.docusign.net/api/3.0/schema/dsapi.wsdl.
I've generated the proxy class, and have started testing, but have hit a wall. I know the generator documentation mentions that it won't work with WS* web services, so my question is will it work with this service?
Thanks!
Kirk