Page 1 of 1

Error executing check_http against web service

Posted: Fri Mar 29, 2019 4:48 am
by seancamela
Hi there!

When executing the a check_http command against a web service I get the error below:

Code: Select all

root@1270b27622ef:/# /opt/nagios/libexec/check_http -v -k 'SOAPAction:""' -T text/xml -P '<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns:greetMeeRequest xmlns:ns="http://dummy.ws.integration.impression.csw.com"><parameters>mkyong</parameters></ns:greetMeeRequest></S:Body></S:Envelope>' -t 10 -m 512 -p 9763 -H 192.168.0.2 -u /services/DummyWS.DummyWSHttpSoap12Endpoint/

POST /services/DummyWS.DummyWSHttpSoap12Endpoint/ HTTP/1.1
User-Agent: check_http/v2.2.1 (nagios-plugins 2.2.1)
Connection: close
Host: 192.168.0.2:9763
Accept: */*
SOAPAction:""
Content-Type: text/xml
Content-Length: 224

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns:greetMeeRequest xmlns:ns="http://dummy.ws.integration.impression.csw.com"><parameters>mkyong</parameters></ns:greetMeeRequest></S:Body></S:Envelope>

http://192.168.0.2:9763/services/DummyWS.DummyWSHttpSoap12Endpoint/ is 427 characters
STATUS: HTTP/1.1 500 Internal Server Error
**** HEADER ****
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Date: Fri, 29 Mar 2019 09:38:10 GMT
Connection: close
**** CONTENT ****
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>1</faultstring><detail /></soapenv:Fault></soapenv:Body></soapenv:Envelope>

HTTP CRITICAL: HTTP/1.1 500 Internal Server Error - page size 427 too small - 427 bytes in 0.033 second response time |time=0.032654s;;;0.000000 size=427B;512;0;0
Here is the WDSL:

Code: Select all

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://dummy.ws.integration.impression.csw.com" xmlns:ax22709="http://exception.common.impression.csw.com/xsd" xmlns:ax22708="http://exception.datasources.common.impression.csw.com/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax22713="http://webservices.datasources.common.impression.csw.com/xsd" xmlns:ax22714="http://data.datasources.common.impression.csw.com/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://dummy.ws.integration.impression.csw.com">
    <wsdl:documentation>DummyWS</wsdl:documentation>
    <wsdl:types>
        <xs:schema xmlns:ax22716="http://webservices.datasources.common.impression.csw.com/xsd" xmlns:ax22712="http://exception.datasources.common.impression.csw.com/xsd" attributeFormDefault="qualified" elementFormDefault="unqualified" targetNamespace="http://dummy.ws.integration.impression.csw.com">
            <xs:import namespace="http://exception.datasources.common.impression.csw.com/xsd" />
            <xs:import namespace="http://webservices.datasources.common.impression.csw.com/xsd" />
            <xs:element name="greetMee">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="yourName" nillable="true" type="xs:string" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="greetMeeResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:complexType name="Exception">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Exception" nillable="true" type="xs:anyType" />
                </xs:sequence>
            </xs:complexType>
            <xs:element name="ExternalSystemException">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="ExternalSystemException" nillable="true" type="ax22712:ExternalSystemException" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="callDummyResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="ax22713:WebServiceResponse" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <xs:schema xmlns:ax22711="http://exception.common.impression.csw.com/xsd" attributeFormDefault="qualified" elementFormDefault="unqualified" targetNamespace="http://exception.datasources.common.impression.csw.com/xsd">
            <xs:import namespace="http://exception.common.impression.csw.com/xsd" />
            <xs:complexType name="ExternalSystemException">
                <xs:complexContent>
                    <xs:extension base="ax22711:AbstractCSWGenericException">
                        <xs:sequence>
                            <xs:element minOccurs="0" name="externalErrors" nillable="true" type="xs:anyType" />
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
        </xs:schema>
        <xs:schema xmlns:ax22715="http://data.datasources.common.impression.csw.com/xsd" attributeFormDefault="qualified" elementFormDefault="unqualified" targetNamespace="http://webservices.datasources.common.impression.csw.com/xsd">
            <xs:import namespace="http://data.datasources.common.impression.csw.com/xsd" />
            <xs:complexType name="WebServiceResponse">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="messages" nillable="true" type="ax22713:WebServiceMessage" />
                    <xs:element minOccurs="0" name="success" type="xs:boolean" />
                    <xs:element minOccurs="0" name="warnings" nillable="true" type="ax22713:Warnings" />
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="WebServiceMessage">
                <xs:complexContent>
                    <xs:extension base="ax22714:SystemMessage">
                        <xs:sequence />
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="Warnings">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="warning" nillable="true" type="ax22713:WebServiceMessage" />
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
        <xs:schema attributeFormDefault="qualified" elementFormDefault="unqualified" targetNamespace="http://data.datasources.common.impression.csw.com/xsd">
            <xs:complexType name="SystemMessage">
                <xs:sequence>
                    <xs:element minOccurs="0" name="detail" nillable="true" type="xs:string" />
                    <xs:element minOccurs="0" name="help" nillable="true" type="xs:string" />
                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string" />
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
        <xs:schema xmlns:ax22710="http://dummy.ws.integration.impression.csw.com" attributeFormDefault="qualified" elementFormDefault="unqualified" targetNamespace="http://exception.common.impression.csw.com/xsd">
            <xs:import namespace="http://dummy.ws.integration.impression.csw.com" />
            <xs:complexType name="AbstractCSWGenericException">
                <xs:complexContent>
                    <xs:extension base="ax22710:Exception">
                        <xs:sequence>
                            <xs:element minOccurs="0" name="errorCode" nillable="true" type="xs:string" />
                            <xs:element minOccurs="0" name="localizedMessage" nillable="true" type="xs:string" />
                            <xs:element minOccurs="0" name="message" nillable="true" type="xs:string" />
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="callDummyRequest" />
    <wsdl:message name="callDummyResponse">
        <wsdl:part name="parameters" element="ns:callDummyResponse" />
    </wsdl:message>
    <wsdl:message name="ExternalSystemException">
        <wsdl:part name="parameters" element="ns:ExternalSystemException" />
    </wsdl:message>
    <wsdl:message name="greetMeeRequest">
        <wsdl:part name="parameters" element="ns:greetMee" />
    </wsdl:message>
    <wsdl:message name="greetMeeResponse">
        <wsdl:part name="parameters" element="ns:greetMeeResponse" />
    </wsdl:message>
    <wsdl:portType name="DummyWSPortType">
        <wsdl:operation name="callDummy">
            <wsdl:input message="ns:callDummyRequest" wsaw:Action="urn:callDummy" />
            <wsdl:output message="ns:callDummyResponse" wsaw:Action="urn:callDummyResponse" />
            <wsdl:fault message="ns:ExternalSystemException" name="ExternalSystemException" wsaw:Action="urn:callDummyExternalSystemException" />
        </wsdl:operation>
        <wsdl:operation name="greetMee">
            <wsdl:input message="ns:greetMeeRequest" wsaw:Action="urn:greetMee" />
            <wsdl:output message="ns:greetMeeResponse" wsaw:Action="urn:greetMeeResponse" />
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="DummyWSSoap11Binding" type="ns:DummyWSPortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
        <wsdl:operation name="callDummy">
            <soap:operation soapAction="urn:callDummy" style="document" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="ExternalSystemException">
                <soap:fault use="literal" name="ExternalSystemException" />
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="greetMee">
            <soap:operation soapAction="urn:greetMee" style="document" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="DummyWSSoap12Binding" type="ns:DummyWSPortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
        <wsdl:operation name="callDummy">
            <soap12:operation soapAction="urn:callDummy" style="document" />
            <wsdl:input>
                <soap12:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="ExternalSystemException">
                <soap12:fault use="literal" name="ExternalSystemException" />
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="greetMee">
            <soap12:operation soapAction="urn:greetMee" style="document" />
            <wsdl:input>
                <soap12:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="DummyWSHttpBinding" type="ns:DummyWSPortType">
        <http:binding verb="POST" />
        <wsdl:operation name="callDummy">
            <http:operation location="callDummy" />
            <wsdl:input>
                <mime:content type="text/xml" part="callDummy" />
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="callDummy" />
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="greetMee">
            <http:operation location="greetMee" />
            <wsdl:input>
                <mime:content type="text/xml" part="greetMee" />
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="greetMee" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="DummyWS">
        <wsdl:port name="DummyWSHttpSoap11Endpoint" binding="ns:DummyWSSoap11Binding">
            <soap:address location="http://192.168.0.2:9763/services/DummyWS.DummyWSHttpSoap11Endpoint/" />
        </wsdl:port>
        <wsdl:port name="DummyWSHttpsSoap11Endpoint" binding="ns:DummyWSSoap11Binding">
            <soap:address location="https://192.168.0.2:9443/services/DummyWS.DummyWSHttpsSoap11Endpoint/" />
        </wsdl:port>
        <wsdl:port name="DummyWSHttpsSoap12Endpoint" binding="ns:DummyWSSoap12Binding">
            <soap12:address location="https://192.168.0.2:9443/services/DummyWS.DummyWSHttpsSoap12Endpoint/" />
        </wsdl:port>
        <wsdl:port name="DummyWSHttpSoap12Endpoint" binding="ns:DummyWSSoap12Binding">
            <soap12:address location="http://192.168.0.2:9763/services/DummyWS.DummyWSHttpSoap12Endpoint/" />
        </wsdl:port>
        <wsdl:port name="DummyWSHttpsEndpoint" binding="ns:DummyWSHttpBinding">
            <http:address location="https://192.168.0.2:9443/services/DummyWS.DummyWSHttpsEndpoint/" />
        </wsdl:port>
        <wsdl:port name="DummyWSHttpEndpoint" binding="ns:DummyWSHttpBinding">
            <http:address location="http://192.168.0.2:9763/services/DummyWS.DummyWSHttpEndpoint/" />
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
What am I missing here?

Thanks in advance

Sean

Re: Error executing check_http against web service

Posted: Fri Mar 29, 2019 1:21 pm
by cdienger
I used SoapUI to review the wsdl file which suggests this:

Code: Select all

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:dum="http://dummy.ws.integration.impression.csw.com">
   <soap:Header/>
   <soap:Body>
      <dum:greetMee>
         <!--Optional:-->
         <yourName>?</yourName>
      </dum:greetMee>
   </soap:Body>
</soap:Envelope>