SOAP: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''SOAP''' (abbreviation for '''Simple Object Access Protocol''') is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. Its purpose is to provide extensibility, neutrality, verbosity and independence. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP), although some legacy systems communicate over Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.
'''SOAP''' (abbreviation for '''Simple Object Access Protocol''') is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. Its purpose is to provide extensibility, neutrality, verbosity and independence. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP), although some legacy systems communicate over Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.


SOAP allows developers to invoke processes running on disparate operating systems (such as Windows, macOS, and Linux) to authenticate, authorize, and communicate using Extensible Markup Language (XML). Since Web protocols like HTTP are installed and running on all operating systems, SOAP allows clients to invoke web services and receive responses independent of language and platforms.
==Request==
<source lang="xml">
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Header>
        <Security>
            <UsernameToken>
                <Username>academia</Username>
                <Password>p@$$w0rd</Password>
            </UsernameToken>
        </Security>
    </Header>
    <Body>
        <StockDispensationRequest>
            <StockDispensation>
                <TransactionID>2423423423</TransactionID>
                <TransactionType>1</TransactionType>
                <TransactionInterface>MEDSYS</TransactionInterface>
                <NationalOrganizationID>102</NationalOrganizationID>
                <LocationCode>1001</LocationCode>
                <ERPID>25464</ERPID>
                <BrandID>64</BrandID>
                <Quantity>67</Quantity>
                <UOM>UOM</UOM>
                <ConversionRatio>1</ConversionRatio>
                <LotNumber>101</LotNumber>
                <ExpiryDate>2022-01-01T00:00:00</ExpiryDate>
                <GTIN>05000456007481</GTIN>
                <SerialNumber>545051818</SerialNumber>
            </StockDispensation>
        </StockDispensationRequest>
    </Body>
</Envelope>
</source>
 
==Response==
<source lang="xml">
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
        <env:Fault xmlns:ns0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <faultcode>ns0:InvalidSecurity</faultcode>
            <faultstring>InvalidSecurity : error in processing the WS-Security security header</faultstring>
            <faultactor></faultactor>
        </env:Fault>
    </env:Body>
</env:Envelope>
</source>


==References==
==References==
{|
| valign="top" |
* [https://www.ibm.com/support/knowledgecenter/en/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/cwlp_wssec_utoken.html Authentication of WS clients with a UsernameToken]
* [https://www.ibm.com/support/knowledgecenter/en/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/cwlp_wssec_utoken.html Authentication of WS clients with a UsernameToken]
* [https://docs.oracle.com/cd/E19509-01/820-0595/ghlft/index.html Basic Authentication with the HTTP]
* [https://docs.oracle.com/cd/E19509-01/820-0595/ghlft/index.html Basic Authentication with the HTTP]
* [https://stackoverflow.com/questions/14848776 JAXB marshalling for BigDecimal]
* [https://spring.io/guides/gs/consuming-web-service/ Consuming a SOAP web service]
* [https://spring.io/guides/gs/consuming-web-service/ Consuming a SOAP web service]
* [https://www.w3schools.com/xml/schema_dtypes_date.asp XSD Date and Time Data Types]
* [https://stackoverflow.com/questions/35203266 Adding security headers in CXF]
* [https://stackoverflow.com/questions/20115521 BigDecimal Scientific Notation]
* [https://examples.javacodegeeks.com/enterprise-java/jws/jax-ws-client-from-wsdl-example/ JAX-WS Client from WSDL]
* [https://stackoverflow.com/questions/16722471 UsernameToken in CXF]
* [https://www.baeldung.com/jaxb Guide to JAXB]
| valign="top" |
* [https://stackoverflow.com/questions/39242197 Change "SOAP-ENV" default prefix of Spring WebServices]
* [https://stackoverflow.com/questions/15903249 Generate classes with jaxb2-maven-plugin]
* [https://stackoverflow.com/questions/7109251 Trace Spring WebServices SOAP requests]
* [https://stackoverflow.com/questions/2274378 Add SoapHeader to WebServiceMessage]
* [https://stackoverflow.com/questions/16322634 How to SOAPElement in SOAPHeader]
* [https://stackoverflow.com/questions/25292485 Add custom element to SOAPHeader]
* [https://vianneyfaivre.com/tech/spring-ws-how-to-configure-ws-security-auth-for-a-soap-1-1-client How to configure WS-Security]
* [https://stackoverflow.com/questions/56268615 Add Multiple SOAP Headers]
* [https://stackoverflow.com/questions/50759580 No Marshaller Registered]
* [https://howtodoinjava.com/spring-boot/spring-soap-client-webservicetemplate/ Spring Boot SOAP Client]
| valign="top" |
* [https://stackoverflow.com/questions/44289544 Java SOAPElement With Multiple Namespaces]
* [https://stackoverflow.com/questions/49369072 Does not represent a valid SOAP 1.1 Message]
* [https://stackoverflow.com/questions/4037125 NAMESPACE_ERR: An attempt is made]
* [https://stackoverflow.com/questions/44676532 Spring Marshal and Unmarshal an XML]
* [https://stackoverflow.com/questions/47333185 Convert Soap XML response to Object]
* [https://stackoverflow.com/questions/26097760 Unmarshall SOAP XML to Java Object]
* [https://stackoverflow.com/questions/25410905 Mapping SOAP Action with Operation]
* [https://stackoverflow.com/questions/14022839 Spring Classpath Resource as String]
* [https://stackoverflow.com/questions/522395 Get XML String from SOAPMessage]
|}

Latest revision as of 08:19, 6 May 2020

SOAP (abbreviation for Simple Object Access Protocol) is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. Its purpose is to provide extensibility, neutrality, verbosity and independence. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP), although some legacy systems communicate over Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.

Request

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Header>
        <Security>
            <UsernameToken>
                <Username>academia</Username>
                <Password>p@$$w0rd</Password>
            </UsernameToken>
         </Security>
    </Header>
    <Body>
        <StockDispensationRequest>
            <StockDispensation>
                <TransactionID>2423423423</TransactionID>
                <TransactionType>1</TransactionType>
                <TransactionInterface>MEDSYS</TransactionInterface>
                <NationalOrganizationID>102</NationalOrganizationID>
                <LocationCode>1001</LocationCode>
                <ERPID>25464</ERPID>
                <BrandID>64</BrandID>
                <Quantity>67</Quantity>
                <UOM>UOM</UOM>
                <ConversionRatio>1</ConversionRatio>
                <LotNumber>101</LotNumber>
                <ExpiryDate>2022-01-01T00:00:00</ExpiryDate>
                <GTIN>05000456007481</GTIN>
                <SerialNumber>545051818</SerialNumber>
            </StockDispensation>
        </StockDispensationRequest>
    </Body>
</Envelope>

Response

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
        <env:Fault xmlns:ns0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <faultcode>ns0:InvalidSecurity</faultcode>
            <faultstring>InvalidSecurity : error in processing the WS-Security security header</faultstring>
            <faultactor></faultactor>
        </env:Fault>
    </env:Body>
</env:Envelope>

References