Web Service Basics and NWS Setup


Published on

SOAP Web Service Extension of NetSuite.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Web Service Basics and NWS Setup

  1. 1. Web Service ArchitecturePrem Krishna Chettri
  2. 2. Table of Contents What’s Web Service? Why Web Service? Architecture Overview XML SOAP WSDL NetSuite Web Service
  3. 3. What’s Is Web Service? Web services are application programming interfaces(API) or Web APIs that are accessed via someprotocols like HTTP. “Software application identified by a URI, whoseinterfaces and bindings are capable of beingdefined, described, and discovered as XML artifacts”– W3C Web Services ArchitectureRequirements, Oct. 2002
  4. 4. Why Web Services? Allow companies to reduce the cost of doing e-business, to deploy solutions faster Need a common program-to-program communicationsmodel Allow heterogeneous applications to be integratedmore rapidly, easily and less expensively Facilitate deploying and providing access to businessfunctions over the Web
  5. 5. XML XML Inherited from SGML which is a markuplanguage like HTML. XML stands for Extensible Markup Languagebecause we can Extend its capability. XML uses parser to decode the file content.Example :- <?xml version="1.0"?> <note> <to>Receiver</to> <from>Sender </from> <heading>Reminder</heading> <body>Message Body!</body> </note>
  6. 6. SOAP: Simple ObjectAccess Protocol What is SOAP? SOAP is a communication protocol SOAP is for communication between applications SOAP is a format for sending messages SOAP is designed to communicate via Internet SOAP is platform independent SOAP is language independent SOAP is based on XML SOAP is simple and extensible SOAP will be developed as a W3C standard
  7. 7. SOAP Message Structure Request and Response messages Request invokes a method on a remoteobject Response returns result of running themethod SOAP specification defines an“envelop” “envelop” wraps the message itself Message is a different vocabulary Namespace prefix is used to distinguishthe two partsApplication-specificmessage vocabularySOAP Envelopvocabulary
  8. 8. SOAP Request Message<?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Body xmlns:m="http://www.stock.org/stock"></soap:Body></soap:Envelope><m:GetStockPrice><m:StockName>IBM</m:StockName></m:GetStockPrice>SOAP EnvelopeMessageSOAP EnvelopeNamespaceMessageNamespace
  9. 9. SOAP Response Message<?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Body xmlns:m="http://www.stock.org/stock"></soap:Body></soap:Envelope><m:GetStockPriceResponse><m:Price>34.5</m:Price></m:GetStockPriceResponse>SOAP EnvelopeMessageResultreturned inBody
  10. 10. Web Services Description Language What is WSDL? WSDL is written in XML WSDL is an XML document WSDL is used to describe Web services WSDL is also used to locate Web services WSDL is not yet a W3C standard Operational information about the service Location of the service Service interface Implementation details for the service interface
  11. 11. WSDL Document Structure (1/2) <portType> element Defines a web service, the operations that can beperformed, and the messages that are involved <message> element Defines the data elements of an operation consists of one or more parts. The parts can be compared to the parameters of afunction call in a traditional programming language
  12. 12. WSDL Document Structure (2/2) <types> element Defines the data type that are used by the webservice For maximum platform neutrality, WSDL uses XMLSchema syntax to define data types <binding> element Defines the message format and communicationprotocols used by the web service
  13. 13. NetSuite WSDL <defination xmlns:..> <types> <xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”> <xsd:import namespace=“ “ schemaLocation=“ ”> <xsd:import namespace=“ “ schemaLocation=“ ”> ………. </xsd:schema> </types> <message name=“ ”> <part name =“ “ element =“ ”> </message> <portType name=“NetSuitePortType”> <operation name=“Login”> <input name = “ login Request” message=“tns:loginRequest”> <outpur name=“loginResponse” message=“tns:loginResponse”> </operation> </portType>
  14. 14. WSDL Continuation <binding name="NetSuiteBinding" type="tns:NetSuitePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="login"> <soap:operation soapAction="login"/> <input name="loginRequest"> <soap:header message="tns:headers" part="applicationInfo" use="literal"/> <soap:header message="tns:headers" part="partnerInfo" use="literal"/> <soap:body use="literal"/> </input> <output name="loginResponse"> <soap:body use="literal"/> </output> <fault name="InsufficientPermissionFault"> <soap:fault name="InsufficientPermissionFault" use="literal"/> </fault> </operation> </binding> <service name="NetSuiteService"> <port name="NetSuitePort" binding="tns:NetSuiteBinding"> <soap:address location="https://webservices.netsuite.com/services/NetSuitePort_2012_2"/> </port> </service> </definitions>
  15. 15. XML Schema Definition (XSD) An XML schema describes the structure of anXML document.NetSuite XSD’s:-1>core.xsd,2>messages.xsd,3>faults.xsd,4>common.xsd etc.
  16. 16. Web Service Model (1/3)
  17. 17. Web Service Model (2/3) Roles in Web Service architecture Service provider Owner of the service Platform that hosts access to the service Service requestor Business that requires certain functions to be satisfied Application looking for and invoking an interaction with aservice Service registry Searchable registry of service descriptions where serviceproviders publish their service descriptions
  18. 18. Web Service Model (3/3) Operations in a Web Service Architecture Publish Service descriptions need to be published in order forservice requestor to find them Find Service requestor retrieves a service description directlyor queries the service registry for the service required Bind Service requestor invokes or initiates an interaction withthe service at runtime
  19. 19. NetSuite WebServices General Setup (UI) :- To enable the Web services feature:1. As administrator, click Setup > Company > Enable Features.2. Click the SuiteCloud tab.3. Select the Web Services check box.4. Click Save. Enable Show Internal ID from :-1. Home > Set Preferences.2. Click the General Tab.3. check the Show Internal IDs box.
  20. 20. NetSuite IDE Setup Project Setup :-1> Install the IDE ( Visual Studio or Eclipse).2> Create a New Project.3> Add Web Reference. Using Below given URL’s WSDL URL :-https://webservices.netsuite.com/wsdl/v2012_2_0/netsuite.wsdl SOAP URL :-https://webservices.netsuite.com/services/NetSuitePort_2012_2Note :- Use dynamic method to get the correct service url’s by getDataCenterUrls() api. WebService Listener :-https://webservice.na1.netsuite.com Schema Browser (For Reference):-https://system.netsuite.com/help/helpcenter/en_US/SchemaBrowser/indexv2012_2_0.html
  21. 21. Web Services Class and API’s “NetSuiteService” Class is a primary Classexposed by NetsuiteWeb Interface. It has exposed Events and API’sExample :- add, delete, update, initializeget, search etc.
  22. 22. Practical’s NextQ&A
  23. 23. Thank You