2012-02-07 6 views
0

저는 며칠 동안 웹 서비스에 어려움을 겪었습니다. 마침내 돌파구를 찾은 것 같습니다.SoapUI가 내 웹 서비스를 찾지 못했습니다.

나는 편지에 this 튜토리얼을 따라 갔고, 나는 나의 웹 서비스를 가동했다. 유일한 문제는 soapUI를 통해 테스트 할 수 없다는 것입니다.

http://localhost:8084/soapwebservices으로 이동하면 내 웹 서비스에 대한 데이터 (예 : wsdl의 위치)가 표시됩니다. 저것으로 판단해서, 연결은 정확하다. 내가이 요청을 보내려고 할 때

는하지만 :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<definitions xmlns:ns1="soapwebservices.jdevelop.eu" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/" name="SOAPWebServices" targetNamespace="soapwebservices.jdevelop.eu"> 
    <types> 
     <xsd:schema> 
      <xsd:import namespace="soapwebservices.jdevelop.eu" schemaLocation="webservices.xsd"/> 
     </xsd:schema> 
    </types> 
    <message name="calculateValues"> 
     <part name="calculateValues" element="ns1:calculateValues"/> 
    </message> 
    <message name="calculateValuesResponse"> 
     <part name="calculateValuesResponse" element="ns1:calculateValuesResponse"/> 
    </message> 
    <portType name="SOAPWebServices"> 
     <operation name="getCalculateValues"> 
      <input message="ns1:calculateValues"/> 
      <output message="ns1:calculateValuesResponse"/> 
     </operation> 
    </portType> 
    <binding name="SOAPWebServicesPortBinding" type="ns1:SOAPWebServices"> 
     <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> 
     <operation name="getCalculateValues"> 
      <soap:operation soapAction="urn:http://blog.jdevelop.eu/services/getCalculateValues"/> 
      <input> 
       <soap:body use="literal"/> 
      </input> 
      <output> 
       <soap:body use="literal"/> 
      </output> 
     </operation> 
    </binding> 
    <service name="SOAPService"> 
     <port name="WebServices" binding="ns1:SOAPWebServicesPortBinding"> 
      <soap:address location="http://blog.jdevelop.eu:80/services"/> 
     </port> 
    </service> 
</definitions> 

것은 무엇을 할 수 있습니다 : 여기

<head><title>Not Found (404)</title></head> 
<body><h1>Not Found (404)</h1> 
<b>Original request:</b> http://localhost:8084/soapwebservices<br><br> 
<b>Not found request:</b> http://localhost:8084/soapwebservices</body> 

내 WSDL된다

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="soapwebservices.jdevelop.eu"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <soap:calculateValues> 
     <value1>10</value1> 
     <value2>3.21</value2> 
     </soap:calculateValues> 
    </soapenv:Body> 
</soapenv:Envelope> 

을 나는 404 오류 여기서 문제가 있니?

Netbeans 6.0.1, Apache Tomcat 6.0 및 Java SDK 1.7 고마워요! 관찰

+0

나는 당신이 WSDL ---_ HTTP 포함한 전체 링크를 제공 할 수 있다고 생각 동일해야합니다 /? wsdl – tartak

+0

일부 특정 장소 또는 일반적으로? –

+0

SoapUI에서 새 프로젝트를 만들 때 이름 (첫 번째 텍스트 상자)과 서비스의 주소 (/? wsdl로 끝나야하는 주소)를 제공합니다. – tartak

답변

2

커플 다음 WSDL에 언급 된 조작 이름 getCalculateValues ​​ (<operation name="getCalculateValues">) 인 반면하여 SOAP 메시지에서

  1. , 당신이 보내는 동작 이름은 calculateValues ​​ (<soap:calculateValues>)입니다. 이것은 calculateValues ​​ 작업이 정의되지 않았기 때문에 404 오류의 원인 일 수 있습니다.

  2. WSDL (<soap:address location="http://blog.jdevelop.eu:80/services"/>)에 언급 된 서비스 URL에 SOAP 메시지를 게시하지 않는다고 가정합니다. // 로컬 호스트 : 8084/soapwebservices

+0

사실입니다. Meh, 그런 루키 실수. –

0

확인 엔드 포인트 클래스와 스키마의 namespce는 모두

관련 문제