SOAP WSDL Generate Code

CAPSoapHttp / getMessage

ASP AutoIt C C (Unicode) C++ C++ (Unicode) C# DataFlex Delphi Foxpro Go Java Node.js Objective-C Perl PHP Extension PowerBuilder Powershell PureBasic Python CkPython Ruby SQL Server Swift TCL VB.NET VB6 VBScript Xojo
LOCAL loXml
LOCAL lcSoapRequestBody
LOCAL lcEndpoint
LOCAL lcSoapAction
LOCAL lcContentType
LOCAL loHttp
LOCAL loResp
LOCAL loResponseXml
LOCAL lnStatusCode
LOCAL lcIdentifier
LOCAL lcSender
LOCAL lcSent
LOCAL lcStatus
LOCAL lcMsgType
LOCAL lcSource
LOCAL lcScope
LOCAL lcRestriction
LOCAL lcAddresses
LOCAL lcCode
LOCAL lcNote
LOCAL lcReferences
LOCAL lcIncidents
LOCAL lcLanguage
LOCAL lcCategory
LOCAL lcV_event
LOCAL lcResponseType
LOCAL lcUrgency
LOCAL lcSeverity
LOCAL lcCertainty
LOCAL lcAudience
LOCAL lcValueName
LOCAL lcValue
LOCAL lcEffective
LOCAL lcOnset
LOCAL lcExpires
LOCAL lcSenderName
LOCAL lcHeadline
LOCAL lcDescription
LOCAL lcInstruction
LOCAL lcWeb
LOCAL lcContact
LOCAL lcResourceDesc
LOCAL lcMimeType
LOCAL lcSize
LOCAL lcUri
LOCAL lcDerefUri
LOCAL lcDigest
LOCAL lcAreaDesc
LOCAL lcPolygon
LOCAL lcCircle
LOCAL lcAltitude
LOCAL lcCeiling

loXml = CreateObject('Chilkat_9_5_0.Xml')
loXml.Tag = "soapenv:Envelope"
loXml.AddAttribute("xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/")
loXml.AddAttribute("xmlns:req","http://gov.fema.ipaws.services/caprequest")
loXml.AddAttribute("xmlns:WL5G3N1","http://gov.fema.ipaws.services/IPAWS_CAPService/")
loXml.AddAttribute("xmlns:capreq","http://gov.fema.ipaws.services/caprequest")
loXml.UpdateChildContent("soapenv:Header|WL5G3N1:request_Header|WL5G3N1:logonUser","xml")
loXml.UpdateChildContent("soapenv:Header|WL5G3N1:request_Header|WL5G3N1:logonCogId","xml")
loXml.UpdateChildContent("soapenv:Body|WL5G3N1:getMessageTypeDef|req:requestAPI","string")
loXml.UpdateChildContent("soapenv:Body|WL5G3N1:getMessageTypeDef|req:requestOperation","string")
loXml.UpdateChildContent("soapenv:Body|WL5G3N1:getMessageTypeDef|req:parameters|req:parameterName","string")
loXml.UpdateChildContent("soapenv:Body|WL5G3N1:getMessageTypeDef|req:parameters|req:comparisonOp","string")
loXml.UpdateChildContent("soapenv:Body|WL5G3N1:getMessageTypeDef|req:parameters|req:parameterValue","string")
loXml.UpdateChildContent("soapenv:Body|WL5G3N1:getMessageTypeDef|req:parameters|req:logicalOp","string")

* In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required. 
loXml.EmitXmlDecl = 0
lcSoapRequestBody = loXml.GetXml()

lcEndpoint = "http://tdl.integration.aws.fema.gov/IPAWS_CAPService/IPAWS"
lcSoapAction = "http://gov.fema.ipaws.services/IPAWS_CAPService/getMessage"
*  For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
lcContentType = "text/xml"

loHttp = CreateObject('Chilkat_9_5_0.Http')

loHttp.ClearHeaders()
loHttp.SetRequestHeader("Content-Type",lcContentType)
loHttp.SetRequestHeader("SOAPAction",lcSoapAction)

loResp = loHttp.PostXml(lcEndpoint,lcSoapRequestBody,"utf-8")
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    ? "Failed to send SOAP request."
    RELEASE loXml
    RELEASE loHttp
    CANCEL
ENDIF

* Get the XML response body.
loResponseXml = CreateObject('Chilkat_9_5_0.Xml')
loResp.GetBodyXml(loResponseXml)

lnStatusCode = loResp.StatusCode
? "response status code: " + STR(lnStatusCode)

RELEASE loResp

* If the status code does not indicate succcess, then show the response XML,
* which probably contains error information.
IF (lnStatusCode <> 200) THEN
    ? loResponseXml.GetXml()
    RELEASE loXml
    RELEASE loHttp
    RELEASE loResponseXml
    CANCEL
ENDIF

? loResponseXml.GetXml()

* Parse the successful SOAP response XML.

* This is a sample of the response XML, but the namespace prefixes will be different.
* We can parse the result using "*" for the namespace prefixes (see below).

lcIdentifier = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:identifier")
lcSender = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:sender")
lcSent = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:sent")
lcStatus = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:status")
lcMsgType = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:msgType")
lcSource = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:source")
lcScope = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:scope")
lcRestriction = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:restriction")
lcAddresses = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:addresses")
lcCode = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:code")
lcNote = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:note")
lcReferences = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:references")
lcIncidents = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:incidents")
lcLanguage = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:language")
lcCategory = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:category")
lcV_event = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:event")
lcResponseType = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:responseType")
lcUrgency = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:urgency")
lcSeverity = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:severity")
lcCertainty = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:certainty")
lcAudience = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:audience")
lcValueName = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:eventCode|*:valueName")
lcValue = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:eventCode|*:value")
lcEffective = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:effective")
lcOnset = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:onset")
lcExpires = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:expires")
lcSenderName = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:senderName")
lcHeadline = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:headline")
lcDescription = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:description")
lcInstruction = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:instruction")
lcWeb = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:web")
lcContact = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:contact")
lcValueName = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:parameter|*:valueName")
lcValue = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:parameter|*:value")
lcResourceDesc = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:resource|*:resourceDesc")
lcMimeType = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:resource|*:mimeType")
lcSize = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:resource|*:size")
lcUri = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:resource|*:uri")
lcDerefUri = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:resource|*:derefUri")
lcDigest = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:resource|*:digest")
lcAreaDesc = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:area|*:areaDesc")
lcPolygon = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:area|*:polygon")
lcCircle = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:area|*:circle")
lcValueName = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:area|*:geocode|*:valueName")
lcValue = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:area|*:geocode|*:value")
lcAltitude = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:area|*:altitude")
lcCeiling = loResponseXml.GetChildContent("*:Body|*:messageResponseTypeDef|*:alert|*:info|*:area|*:ceiling")

RELEASE loXml
RELEASE loHttp
RELEASE loResponseXml

Request XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req="http://gov.fema.ipaws.services/caprequest" xmlns:WL5G3N1="http://gov.fema.ipaws.services/IPAWS_CAPService/" xmlns:capreq="http://gov.fema.ipaws.services/caprequest">
    <soapenv:Header>
        <WL5G3N1:request_Header>
            <WL5G3N1:logonUser>xml</WL5G3N1:logonUser>
            <WL5G3N1:logonCogId>xml</WL5G3N1:logonCogId>
        </WL5G3N1:request_Header>
    </soapenv:Header>
    <soapenv:Body>
        <WL5G3N1:getMessageTypeDef>
            <req:requestAPI>string</req:requestAPI>
            <req:requestOperation>string</req:requestOperation>
            <req:parameters>
                <req:parameterName>string</req:parameterName>
                <req:comparisonOp>string</req:comparisonOp>
                <req:parameterValue>string</req:parameterValue>
                <req:logicalOp>string</req:logicalOp>
            </req:parameters>
        </WL5G3N1:getMessageTypeDef>
    </soapenv:Body>
</soapenv:Envelope>
Response XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:WL5G3N1="http://gov.fema.ipaws.services/IPAWS_CAPService/" xmlns:cap="urn:oasis:names:tc:emergency:cap:1.2">
    <soapenv:Header/>
    <soapenv:Body>
        <WL5G3N1:messageResponseTypeDef>
            <cap:alert>
                <cap:identifier>xml</cap:identifier>
                <cap:sender>xml</cap:sender>
                <cap:sent>dateTime</cap:sent>
                <cap:status>Actual</cap:status>
                <cap:msgType>Alert</cap:msgType>
                <cap:source>xml</cap:source>
                <cap:scope>Public</cap:scope>
                <cap:restriction>xml</cap:restriction>
                <cap:addresses>xml</cap:addresses>
                <cap:code>xml</cap:code>
                <cap:note>xml</cap:note>
                <cap:references>xml</cap:references>
                <cap:incidents>xml</cap:incidents>
                <cap:info>
                    <cap:language>xml</cap:language>
                    <cap:category>Geo</cap:category>
                    <cap:event>xml</cap:event>
                    <cap:responseType>Shelter</cap:responseType>
                    <cap:urgency>Immediate</cap:urgency>
                    <cap:severity>Extreme</cap:severity>
                    <cap:certainty>Observed</cap:certainty>
                    <cap:audience>xml</cap:audience>
                    <cap:eventCode>
                        <cap:valueName>xml</cap:valueName>
                        <cap:value>xml</cap:value>
                    </cap:eventCode>
                    <cap:effective>dateTime</cap:effective>
                    <cap:onset>dateTime</cap:onset>
                    <cap:expires>dateTime</cap:expires>
                    <cap:senderName>xml</cap:senderName>
                    <cap:headline>xml</cap:headline>
                    <cap:description>xml</cap:description>
                    <cap:instruction>xml</cap:instruction>
                    <cap:web>xml</cap:web>
                    <cap:contact>xml</cap:contact>
                    <cap:parameter>
                        <cap:valueName>xml</cap:valueName>
                        <cap:value>xml</cap:value>
                    </cap:parameter>
                    <cap:resource>
                        <cap:resourceDesc>xml</cap:resourceDesc>
                        <cap:mimeType>xml</cap:mimeType>
                        <cap:size>xml</cap:size>
                        <cap:uri>xml</cap:uri>
                        <cap:derefUri>xml</cap:derefUri>
                        <cap:digest>xml</cap:digest>
                    </cap:resource>
                    <cap:area>
                        <cap:areaDesc>xml</cap:areaDesc>
                        <cap:polygon>xml</cap:polygon>
                        <cap:circle>xml</cap:circle>
                        <cap:geocode>
                            <cap:valueName>xml</cap:valueName>
                            <cap:value>xml</cap:value>
                        </cap:geocode>
                        <cap:altitude>xml</cap:altitude>
                        <cap:ceiling>xml</cap:ceiling>
                    </cap:area>
                </cap:info>
            </cap:alert>
        </WL5G3N1:messageResponseTypeDef>
    </soapenv:Body>
</soapenv:Envelope>