SOAPUI与WCF Web服务的连接

时间:2015-04-06 05:50:20

标签: wcf soap soapui

您好我是Web服务概念的新手,也不太了解WCF Web服务。我试图通过soap UI测试WCF Web服务。为此,我实现了具有ADD,Substract,Multiply,Divide方法的Calculator Web服务。

我已在端口8001上的IIS上实现此服务。

当我通过SOAPUI连接到Calculator WCF Web服务时 我得到以下异常

    Sat Apr 04 04:21:22 IST 2015:ERROR:java.net.SocketException: Connection reset


    java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(Unknown Source)
        at java.net.SocketInputStream.read(Unknown Source)
        at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
        at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)
        at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264)
        at org.apache.http.impl.conn.LoggingSessionInputBuffer.readLine(LoggingSessionInputBuffer.java:115)
        at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)
        at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
        at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)
        at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
        at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$SoapUIHttpRequestExecutor.doReceiveResponse(HttpClientSupport.java:147)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:633)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:454)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
        at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$Helper.execute(HttpClientSupport.java:233)
        at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport.execute(HttpClientSupport.java:323)
        at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.submitRequest(HttpClientRequestTransport.java:290)
        at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:220)
        at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:119)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

下面是我的计算器WCF Web服务的Web.config文件。

    <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
        <services>
       <service behaviorConfiguration="Calc.CalcServiceBehavior" name="Calc.CalcService">
         <endpoint address="" binding="wsHttpBinding" contract="Calc.ICalcService" />
         <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
         <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8001/" />
          </baseAddresses>
         </host>
       </service>
     </services>
     <behaviors>
       <serviceBehaviors>
        <behavior name="Calc.CalcServiceBehavior">
          <serviceMetadata httpGetEnabled="True" />
            <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
       </serviceBehaviors>
     </behaviors>
 </system.serviceModel>
</configuration>

我的网络服务访问网址为http://localhost:8001/Calc.svc

下面是我连接Calculator Web Service的SOAPUI Request主体。

            <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
           <soap:Header/>
           <soap:Body>
              <tem:Add>
                 <!--Optional:-->
                 <!--type: double-->
                 <tem:n1>1</tem:n1>
                 <!--Optional:-->
                 <!--type: double-->
                 <tem:n2>1</tem:n2>
              </tem:Add>
           </soap:Body>
        </soap:Envelope>

调用Calculator Web服务的Add方法。如果SOAP请求错误,请告诉我。

0 个答案:

没有答案