2016-08-03 11 views
0

Ich bin irgendwie neu mit dieser Jmeter Sache und ich versuche, eine einfache SOAP/XML-RPC Anfrage auf Jmeter zu tun. Ich verwende einen Beispielcode, den ich im Internet gefunden habe, der scheint ziemlich gut zu funktionieren (zumindest mit Wizlet in Chrome schien kein Problem zu haben), aber wenn ich die Soap-Anfrage verwende, die das Plug-in auf dem generiert Element in Jmeter ... Nun, das ist eine andere Geschichte. Wenn mir jemand das Problem sagen könnte, wäre es großartig. Probleme mit SOAP/XML-RPC Anfrage von Jmeter

Dies ist der Code der WSDL:

<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://jee.javapapers.com" xmlns:intf="http://jee.javapapers.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://jee.javapapers.com"> 
<!-- 
WSDL created by Apache Axis version: 1.4 
Built on Apr 22, 2006 (06:55:48 PDT) 
--> 
<wsdl:types> 
    <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://jee.javapapers.com"> 
     <element name="animalType"> 
      <complexType> 
       <sequence> 
        <element name="animal" type="xsd:string"/> 
       </sequence> 
      </complexType> 
     </element> 
     <element name="animalTypeResponse"> 
      <complexType> 
       <sequence> 
        <element name="animalTypeReturn" type="xsd:string"/> 
       </sequence> 
      </complexType> 
     </element> 
    </schema> 
</wsdl:types> 
<wsdl:message name="animalTypeResponse"> 
    <wsdl:part element="impl:animalTypeResponse" name="parameters"/> 
</wsdl:message> 
<wsdl:message name="animalTypeRequest"> 
    <wsdl:part element="impl:animalType" name="parameters"/> 
</wsdl:message> 
<wsdl:portType name="AnimalTypeService"> 
    <wsdl:operation name="animalType"> 
     <wsdl:input message="impl:animalTypeRequest" name="animalTypeRequest"/> 
     <wsdl:output message="impl:animalTypeResponse" name="animalTypeResponse"/> 
    </wsdl:operation> 
</wsdl:portType> 
<wsdl:binding name="AnimalTypeServiceSoapBinding" type="impl:AnimalTypeService"> 
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> 
    <wsdl:operation name="animalType"> 
     <wsdlsoap:operation soapAction=""/> 
     <wsdl:input name="animalTypeRequest"> 
      <wsdlsoap:body use="literal"/> 
     </wsdl:input> 
     <wsdl:output name="animalTypeResponse"> 
      <wsdlsoap:body use="literal"/> 
     </wsdl:output> 
    </wsdl:operation> 
</wsdl:binding> 
<wsdl:service name="AnimalTypeServiceService"> 
    <wsdl:port binding="impl:AnimalTypeServiceSoapBinding" name="AnimalTypeService"> 
     <wsdlsoap:address location="http://localhost:8082/WebServicesAnimals/services/AnimalTypeService"/> 
    </wsdl:port> 
</wsdl:service> 
</wsdl:definitions> 

Und dies ist der Wunsch schicke ich und die Antwortfehler.

URL: http://localhost:8082/WebServicesAnimals/services/AnimalTypeService?WSDL

KÖRPER:

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <soapenv:Body> 
     <animalType xmlns="http://jee.javapapers.com"> 
      <animal>Lion</animal> 
     </animalType> 
    </soapenv:Body> 
</soapenv:Envelope> 

Antwort:

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Body> 
    <soapenv:Fault> 
    <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode> 
    <faultstring>no SOAPAction header!</faultstring> 
    <detail> 
    <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">WBFINF05</ns2:hostname> 
    </detail> 
    </soapenv:Fault> 
</soapenv:Body> 
</soapenv:Envelope> 

Antwort

0

ich mindestens 2 Probleme sehen:

  • Warum senden Sie Ihre Anfrage an die URL endet mit? WSDL, yo u sollte verwenden:

http://localhost:8082/WebServicesAnimals/services/AnimalTypeService

  • Fehler sagt Sie keine Soapaction haben. Wenn Sie bestätigen, dass Sie es nicht gesetzt, fügen Sie eine Manager-Kopfzeile und setzt Soapaktion auf „“

Schließlich sollten Sie regelmäßige HTTP-Anforderung anstelle von SOAP/XML-RPC-Anforderung gemäß diesem Tutorial: