2013-08-03 5 views
0

Visual Studio 2010 .NET 4를 사용하여 cXML 웹 서비스에 연결하려고하는데 URL을 사용하여 프로젝트에 서비스 참조를 추가하려고하면 다음 오류가 발생합니다 (개인 정보 보호용 마스크가 있음). 왜 이 오류가 발생하고 어떻게 웹 서비스에 연결할 수 있습니까? ...웹 서비스에 연결할 때이 오류 500을 어떻게 수정합니까?

There was an error downloading 'http://00.00.00.00:8080/xml/servlet/twaaserver?svcname=x10h015' 
The request failed with the error message: 
-- 
<h1>Error: 500</h1> 
<h2>Location: /xml/servlet/twaaserver</h2><b>Internal Servlet Error:</b><br> <pre>javax.servlet.ServletException 
    at processService.doProcess(processService.java:447) 
    at processService.run(processService.java:585) 
    at twaaserver.doGet(twaaserver.java:429) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
    at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) 
    at org.apache.tomcat.core.Handler.service(Handler.java:287) 
    at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) 
    at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812) 
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) 
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213) 
    at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) 
    at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501) 
    at java.lang.Thread.run(Thread.java:534) 
</pre> 
<b>Root cause:</b> 
<pre>java.lang.NullPointerException 
    at eboservice.transformDataFeeds(eboservice.java:982) 
    at processService.doProcess(processService.java:279) 
    at processService.run(processService.java:585) 
    at twaaserver.doGet(twaaserver.java:429) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
    at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) 
    at org.apache.tomcat.core.Handler.service(Handler.java:287) 
    at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) 
    at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812) 
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) 
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213) 
    at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) 
    at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501) 
    at java.lang.Thread.run(Thread.java:534) 
</pre> 


--. 
Metadata contains a reference that cannot be resolved: 'http://00.00.00.00:8080/xml/servlet/twaaserver?svcname=x10h015'. 
The content type text/html of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<h1>Error: 500</h1> 
<h2>Location: /xml/servlet/twaaserver</h2><b>Internal Servlet Error:</b><br><pre>javax.servlet.ServletException: Warning: can't output text before document element! Ignoring... 
    at processService.doProcess(processService.java:447) 
    at processService.run(processService.java:585) 
    at twaaserver.doGet(twaaserver.java:429) 
    at twaaserver.doPost(twaaserver.java:535) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
    at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) 
    at org.apache.tomcat.core.Handler.service(Handler.java:287) 
    at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) 
    at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812) 
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) 
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213) 
    at org.apache.tomcat.service.'. 
The remote server returned an error: (500) Internal Server Error. 
If the service is defined in the current solution, try building the solution and adding the service reference again. 

답변

0

당신 말이 맞아요, 문제는 웹 서비스가 SOAP 서비스가 아니라는 것입니다. 그것은 REST 서비스입니다.

문제점은 Visual Studio 도구를 통해 서비스 참조를 추가하려고 시도하는 것이 었습니다. 이것은 cXML을 사용하고 REST 서비스 (매우 다르게 작동 함)이기 때문에 내가 연결했던이 유형의 서비스에서는 불가능합니다.

내 솔루션에서는 간단한 POST 및 GET 요청을 수행하여 수동으로 웹 서비스 REST 호출을 작성하고 XML 형식의 문자열 형식으로 전달했습니다. https://developer.yahoo.com/dotnet/howto-rest_cs.html

:

나는이 자습서를 사용 ... 나를 위해 일한

1

서비스 또는 호출 방법에 문제가있는 것 같습니다.

필자가 일반적으로하는 일은 서비스가 예상대로 작동하는지 확인하는 것입니다. soapUI을 가져와 wsdl을 가져오고 몇 가지 샘플 호출을하십시오.

매개 변수를 올바르게 전달하지 않으면 서비스가 미쳐 버리는 경우가 있습니다. soapui로 작동하지 않는 경우 서비스 공급 업체에 어떤 문제가 있는지 명확히하십시오.