首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docusign设置

Docusign设置
EN

Stack Overflow用户
提问于 2015-08-04 21:39:59
回答 1查看 833关注 0票数 1

我在中有以下设置来使用Soap

代码语言:javascript
复制
URL to publish to  https://demo.docusign.net
Name DocusignConnect
Use Soap Interface (check box checked)

是否需要更多的配置。我无法使用Soap客户端调用连接到API服务。

文档代码如下

代码语言:javascript
复制
public APIServiceSoap getAPI() {

        DocusignAPICredentials apiCreds = new DocusignAPICredentials();
        apiCreds.setAccountId(accountId);
        apiCreds.setUserId(username);
        apiCreds.setIntegratorsKey(integratorKey);
        apiCreds.setPassword(password);
        apiCreds.setUserEmail(email);
        apiCreds.setDocusignWebserviceEndpoint(credentialURL);

        DocusignWebserviceFactory wsFactory = new DocusignWebserviceFactory();
        wsFactory.setEmail(apiCreds.getUserEmail());
        wsFactory.setIntegratorsId(apiCreds.getIntegratorsKey());
        wsFactory.setUserId(apiCreds.getUserId());

        return wsFactory.setupClient(apiCreds.getDocusignWebserviceEndpoint()).authorizeAPI(apiCreds);
    }

文件DocuSignWebServiceFactory和DocuSignApiCredentials取自位于https://github.com/docusign/DocuSign-SOAP-SDK简单测试中的https://github.com/docusign/DocuSign-SOAP-SDK示例示例,以验证代码

代码语言:javascript
复制
@Test
    public void testLogin() {

        APIServiceSoap serviceSoap = utils.getAPI();

        serviceSoap.voidEnvelope("dhfafgajf", "No Reason");
    }

我一直在犯的错误是

代码语言:javascript
复制
org.apache.cxf.interceptor.Fault: Could not write attachments.
    at org.apache.cxf.interceptor.AttachmentOutInterceptor.handleMessage(AttachmentOutInterceptor.java:74)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:502)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:411)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:314)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:267)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:137)
    at com.sun.proxy.$Proxy109.voidEnvelope(Unknown Source)
    at com.cargill.crm.docservices.docusign.workflow.LoginTest.testLogin(LoginTest.java:25)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.test.context.junit4.SpringTestMethod.invoke(SpringTestMethod.java:198)
    at org.springframework.test.context.junit4.SpringMethodRoadie.runTestMethod(SpringMethodRoadie.java:274)
    at org.springframework.test.context.junit4.SpringMethodRoadie$2.run(SpringMethodRoadie.java:207)
    at org.springframework.test.context.junit4.SpringMethodRoadie.runBeforesThenTestThenAfters(SpringMethodRoadie.java:254)
    at org.springframework.test.context.junit4.SpringMethodRoadie.runWithRepetitions(SpringMethodRoadie.java:234)
    at org.springframework.test.context.junit4.SpringMethodRoadie.runTest(SpringMethodRoadie.java:204)
    at org.springframework.test.context.junit4.SpringMethodRoadie.run(SpringMethodRoadie.java:146)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:151)
    at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:61)
    at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:54)
    at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:33)
    at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:45)
    at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:52)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.net.UnknownHostException: demo.docusign.net
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:275)
    at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:200)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:951)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
    at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
    at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:174)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1296)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1252)
    at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:201)
    at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
    at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
    at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:60)
    at org.apache.cxf.io.CacheAndWriteOutputStream.write(CacheAndWriteOutputStream.java:77)
    at org.apache.cxf.attachment.AttachmentSerializer.writeProlog(AttachmentSerializer.java:172)
    at org.apache.cxf.interceptor.AttachmentOutInterceptor.handleMessage(AttachmentOutInterceptor.java:72)
    ... 32 more
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-05 10:58:00

DocuSign连接会调用你的应用程序。这种模式通常被称为"网钩“。

您应该将“接收应用程序”的url输入到Connect配置页面中。您的url需要从公共互联网访问,因为DocuSign.net平台将调用您的应用程序。

Re:“我无法使用Soap客户端调用连接到API服务”

应该是这样的。您不是连接到DocuSign连接服务,而是连接到您的应用程序。

希望这能有所帮助。在开发应用程序时,请提出更多的问题。

添加了

DocuSign有两个不同的SOAP。第一个是发送要签名的文档的SOAP。这个API还包括许多其他服务。它的WSDL托管在demo.docusign.net/api/3.0/api.asmx上。

这是一个标准的SOAP服务。您的应用程序调用API。

另一个API是DocuSign连接。您调用的是,而不是。它是一个"Web钩子API“。您的软件做的是而不是调用这种类型的API。相反,您可以向连接服务注册一个URL,并将其称为.。

当您创建一个DocuSign连接配置并注册您的url时,您还可以选择让DocuSign连接使您的侦听器调用SOAP或一个更简单的HTTPS调用。

如果选择SOAP,则应用程序充当SOAP服务,WSDL将由.发布(实际上,不需要为侦听器服务创建WSDL。但如果你愿意,你可以这样做。)

Re:我在代理后面

这是个问题。为了让DocuSign连接服务调用您的侦听器应用程序,您的应用程序需要在公共互联网上可见。如果您的软件位于网关/防火墙/代理之后,则需要打开一个“针孔”,以便DocuSign连接可以到达侦听器应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31819834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档