2013-10-21 6 views
15

मैं जावा में किसी भी सोप पुस्तकालयों इस्तेमाल नहीं किया है को देखते हुए बनाया जा रहा है, इसलिए मैं इस सवाल का newby सत्ता के लिए हमें खेद है।जावा में एक सोप ग्राहक WSDL फ़ाइल

मैं टिवोली Endpoint प्रबंधक के सोप API का लाभ लेने की कोशिश कर रहा हूँ। मैंने wsimport.exe (जेडीके में प्रदान किया गया) का उपयोग करके प्रदान की गई WSDL फ़ाइल से आवश्यक कक्षाएं उत्पन्न की हैं।

अब मैं वर्गों है कि मैं xml प्रारूप में जानकारी पैकेजिंग कर रहे हैं मान की एक टन के साथ प्रदान की हूँ, लेकिन मैं उन लोगों के साथ क्या करना है अनिश्चित हूं। मैंने प्रदान किए गए दस्तावेज को पढ़ा है, लेकिन यह सबसे अच्छा है।

wsimport द्वारा उत्पन्न वर्गों

निम्नलिखित हैं:

classes generated by wsimport

प्रलेखन के अनुसार, निम्नलिखित पर्ल कोड टिवोली के एपीआई

use SOAP::Lite; 
#arguments: [hostname] [username] [password] [relevance expression] 
#hostname only, e.g. ’example.com’ rather than ’http://example.com/webreports’ 
my $host = $ARGV[0]; 
my $username = SOAP::Data->name(’username’ => $ARGV[1]); 
my $password = SOAP::Data->name(’password’ => $ARGV[2]); 
my $expr = SOAP::Data->name(’relevanceExpr’ => $ARGV[3]); 
my $service = SOAP::Lite -> uri(’http://’ . $host . ’/webreports?wsdl’) 
-> proxy($host); 
my $result = $service -> GetRelevanceResult($expr, $username, $password); 
if($result->fault) { 
    print "faultcode: " . $result->faultcode . "\n"; 
    print "faultstring: " . $result->faultstring . "\n"; 
} 
else { 
    foreach my $answer ($result->valueof("//GetRelevanceResultResponse/a")) { 
      print $answer . "\n"; 
    } 
} 

प्रश्न क्वेरी करने के लिए काम करता है: क्या हैं जावा में समकक्ष एसओएपी ग्राहक पुस्तकालय? (जिन लोगों को मैंने गुमराह किया है वे बहुत भारी हैं 15 एमबी +)

मैं उपरोक्त पर्ल के लिए समकक्ष जावा स्टब कोड कैसे लिखूं?

संपादित करें 1

यहाँ स्टब कोड है मैं WebReportsService.java वर्ग पाया लगता है

package connect.tivoli; 

import java.net.MalformedURLException; 
import java.net.URL; 
import javax.xml.namespace.QName; 
import javax.xml.ws.Service; 
import javax.xml.ws.WebEndpoint; 
import javax.xml.ws.WebServiceClient; 
import javax.xml.ws.WebServiceException; 
import javax.xml.ws.WebServiceFeature; 


/** 
* This class was generated by the JAX-WS RI. 
* JAX-WS RI 2.2.4-b01 
* Generated source version: 2.2 
* 
*/ 
@WebServiceClient(name = "WebReportsService", targetNamespace = "http://schemas.bigfix.com/Relevance", wsdlLocation = "http://temwebreports/webreports?wsdl") 
public class WebReportsService 
    extends Service 
{ 

    private final static URL WEBREPORTSSERVICE_WSDL_LOCATION; 
    private final static WebServiceException WEBREPORTSSERVICE_EXCEPTION; 
    private final static QName WEBREPORTSSERVICE_QNAME = new QName("http://schemas.bigfix.com/Relevance", "WebReportsService"); 

    static { 
     URL url = null; 
     WebServiceException e = null; 
     try { 
      url = new URL("http://temwebreports/webreports?wsdl"); 
     } catch (MalformedURLException ex) { 
      e = new WebServiceException(ex); 
     } 
     WEBREPORTSSERVICE_WSDL_LOCATION = url; 
     WEBREPORTSSERVICE_EXCEPTION = e; 
    } 

    public WebReportsService() { 
     super(__getWsdlLocation(), WEBREPORTSSERVICE_QNAME); 
    } 

    public WebReportsService(WebServiceFeature... features) { 
     super(__getWsdlLocation(), WEBREPORTSSERVICE_QNAME, features); 
    } 

    public WebReportsService(URL wsdlLocation) { 
     super(wsdlLocation, WEBREPORTSSERVICE_QNAME); 
    } 

    public WebReportsService(URL wsdlLocation, WebServiceFeature... features) { 
     super(wsdlLocation, WEBREPORTSSERVICE_QNAME, features); 
    } 

    public WebReportsService(URL wsdlLocation, QName serviceName) { 
     super(wsdlLocation, serviceName); 
    } 

    public WebReportsService(URL wsdlLocation, QName serviceName, WebServiceFeature... features) { 
     super(wsdlLocation, serviceName, features); 
    } 

    /** 
    * 
    * @return 
    *  returns RelevancePortType 
    */ 
    @WebEndpoint(name = "RelevancePort") 
    public RelevancePortType getRelevancePort() { 
     return super.getPort(new QName("http://schemas.bigfix.com/Relevance", "RelevancePort"), RelevancePortType.class); 
    } 

    /** 
    * 
    * @param features 
    *  A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. 
    * @return 
    *  returns RelevancePortType 
    */ 
    @WebEndpoint(name = "RelevancePort") 
    public RelevancePortType getRelevancePort(WebServiceFeature... features) { 
     return super.getPort(new QName("http://schemas.bigfix.com/Relevance", "RelevancePort"), RelevancePortType.class, features); 
    } 

    /** 
    * 
    * @return 
    *  returns UserManagementPortType 
    */ 
    @WebEndpoint(name = "UserManagementPort") 
    public UserManagementPortType getUserManagementPort() { 
     return super.getPort(new QName("http://schemas.bigfix.com/Relevance", "UserManagementPort"), UserManagementPortType.class); 
    } 

    /** 
    * 
    * @param features 
    *  A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. 
    * @return 
    *  returns UserManagementPortType 
    */ 
    @WebEndpoint(name = "UserManagementPort") 
    public UserManagementPortType getUserManagementPort(WebServiceFeature... features) { 
     return super.getPort(new QName("http://schemas.bigfix.com/Relevance", "UserManagementPort"), UserManagementPortType.class, features); 
    } 

    /** 
    * 
    * @return 
    *  returns DashboardVariablePortType 
    */ 
    @WebEndpoint(name = "DashboardVariablePort") 
    public DashboardVariablePortType getDashboardVariablePort() { 
     return super.getPort(new QName("http://schemas.bigfix.com/Relevance", "DashboardVariablePort"), DashboardVariablePortType.class); 
    } 

    /** 
    * 
    * @param features 
    *  A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. 
    * @return 
    *  returns DashboardVariablePortType 
    */ 
    @WebEndpoint(name = "DashboardVariablePort") 
    public DashboardVariablePortType getDashboardVariablePort(WebServiceFeature... features) { 
     return super.getPort(new QName("http://schemas.bigfix.com/Relevance", "DashboardVariablePort"), DashboardVariablePortType.class, features); 
    } 

    private static URL __getWsdlLocation() { 
     if (WEBREPORTSSERVICE_EXCEPTION!= null) { 
      throw WEBREPORTSSERVICE_EXCEPTION; 
     } 
     return WEBREPORTSSERVICE_WSDL_LOCATION; 
    } 

} 

समाधान:

यह मैं तुलना में बहुत सरल था सोचा डब्ल्यूएसडीएल पीढ़ी ने सभी काम किया। यहां बताया गया है कि आप उन जेनरेट किए गए वर्गों का उपयोग कैसे करते हैं।

पैकेज connect.tivoli;

public class testMain { 

    public static void main(String[] args) { 
     String relevanceQuery ="names of bes computers "; 
     WebReportsService wr = new WebReportsService(); 
     RelevancePortType client; 
     client = wr.getPort(RelevancePortType.class); 
     System.out.println(client.getRelevanceResult(relevanceQuery, "ad\\username", "password")); 
    } 
+1

आपको पोर्ट प्रोम मिलना चाहिए आपकी सेवा 'वर्ग (WebReportsService मुझे लगता है कि) getPort का उपयोग कर() विधि, फिर जब आप पोर्ट मिल (जैसे अंतिम बिंदु) कार्यान्वयन वस्तु आपको कॉल कर सकते जाएगा किसी भी वेब सेवा एंडपॉइंट विधियों। आवश्यक वस्तुओं को बनाने के लिए ऑब्जेक्ट फैक्ट्री का प्रयोग करें। लोकप्रिय ग्राहक पुस्तकालय जेएक्स-डब्ल्यूएस (जेआरई 6 + में शामिल हैं) या सीएक्सएफ (अपाचे से) हैं। –

+0

मुझे जावा में एक हल्के SOAP क्लाइंट के बारे में सुनना अच्छा लगेगा। अपाचे सीएक्सएफ वह है जो हम उपयोग करते हैं, और यह कुल ब्लूटवेयर है। – dnault

+1

क्या आपने देखा है? – deepakborania

उत्तर

20

वहाँ एक Maven प्लगइन है, cxf-codegen-plugin, कि इच्छा स्वत: एक डबल्यूएसडीएल से जावा वर्गों उत्पन्न करते हैं। यदि आप जेनरेट कोड का उपयोग करना चाहते हैं तो यह आपके लिए एक स्टब क्लाइंट भी बनाएगा।

इस उदाहरण के लिए मैं here स्थित wsdl डाउनलोड किया है और stockquote.wsdl के रूप में यह बचा लिया।

$ पेड़

. 
|-- cxf-wsdl2java-example.iml 
|-- pom.xml 
`-- src 
    |-- main 
    | |-- java 
    | | `-- com 
    | |  `-- stackoverflow 
    | |   `-- App.java 
    | `-- resources 
    |  `-- stockquote.wsdl 
    `-- test 
     `-- java 
      `-- com 
       `-- stackoverflow 
        `-- AppTest.java 

10 directories, 5 files 

$ बिल्ली pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.stackoverflow</groupId> 
    <artifactId>cxf-wsdl2java-example</artifactId> 
    <version>1.0</version> 
    <packaging>jar</packaging> 

    <name>cxf-wsdl2java-example</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 

    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-codegen-plugin</artifactId> 
     <version>2.7.7</version> 
     <executions> 
      <execution> 
      <id>generate-sources</id> 
      <phase>generate-sources</phase> 
      <configuration> 
       <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> 
       <wsdlOptions> 
       <wsdlOption> 
        <wsdl>${basedir}/src/main/resources/stockquote.wsdl</wsdl> 
        <extraargs> 
        <extraarg>-impl</extraarg> 
        <extraarg>-verbose</extraarg> 
        </extraargs> 
       </wsdlOption> 
       </wsdlOptions> 
      </configuration> 
      <goals> 
       <goal>wsdl2java</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 

</project> 

$ mvn उत्पन्न-स्रोतों

[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building cxf-wsdl2java-example 1.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- cxf-codegen-plugin:2.7.7:wsdl2java (generate-sources) @ cxf-wsdl2java-example --- 
Loading FrontEnd jaxws ... 
Loading DataBinding jaxb ... 
... 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.462s 
[INFO] Finished at: Mon Oct 21 14:44:54 MDT 2013 
[INFO] Final Memory: 11M/211M 
[INFO] ------------------------------------------------------------------------ 

$ पेड़।

. 
|-- cxf-wsdl2java-example.iml 
|-- pom.xml 
|-- src 
| |-- main 
| | |-- java 
| | | `-- com 
| | |  `-- stackoverflow 
| | |   `-- App.java 
| | `-- resources 
| |  `-- stockquote.wsdl 
| `-- test 
|  `-- java 
|   `-- com 
|    `-- stackoverflow 
|     `-- AppTest.java 
`-- target 
    |-- classes 
    |-- cxf-codegen-plugin-markers 
    `-- generated 
     `-- cxf 
      `-- net 
       `-- webservicex 
        |-- GetQuote.java 
        |-- GetQuoteResponse.java 
        |-- ObjectFactory.java 
        |-- package-info.java 
        |-- StockQuoteHttpGetImpl.java 
        |-- StockQuoteHttpGet.java 
        |-- StockQuoteHttpPostImpl.java 
        |-- StockQuoteHttpPost.java 
        |-- StockQuote.java 
        |-- StockQuoteSoapImpl1.java 
        |-- StockQuoteSoapImpl.java 
        `-- StockQuoteSoap.java 

17 directories, 17 files 

$ बिल्ली लक्ष्य/जेनरेट/सीएक्सएफ/नेट/webservicex/StockQuote।जावा

package net.webservicex; 

import java.net.MalformedURLException; 
import java.net.URL; 
import javax.xml.namespace.QName; 
import javax.xml.ws.WebEndpoint; 
import javax.xml.ws.WebServiceClient; 
import javax.xml.ws.WebServiceFeature; 
import javax.xml.ws.Service; 

/** 
* This class was generated by Apache CXF 2.7.7 
* 2013-10-21T14:44:54.749-06:00 
* Generated source version: 2.7.7 
* 
*/ 
@WebServiceClient(name = "StockQuote", 
        wsdlLocation = "file:/home/axiopisty/projects/cxf-wsdl2java-example/src/main/resources/stockquote.wsdl", 
        targetNamespace = "http://www.webserviceX.NET/") 
public class StockQuote extends Service { 

    public final static URL WSDL_LOCATION; 

    public final static QName SERVICE = new QName("http://www.webserviceX.NET/", "StockQuote"); 
    public final static QName StockQuoteHttpPost = new QName("http://www.webserviceX.NET/", "StockQuoteHttpPost"); 
    public final static QName StockQuoteSoap = new QName("http://www.webserviceX.NET/", "StockQuoteSoap"); 
    public final static QName StockQuoteSoap12 = new QName("http://www.webserviceX.NET/", "StockQuoteSoap12"); 
    public final static QName StockQuoteHttpGet = new QName("http://www.webserviceX.NET/", "StockQuoteHttpGet"); 
    static { 
     URL url = null; 
     try { 
      url = new URL("file:/home/axiopisty/projects/cxf-wsdl2java-example/src/main/resources/stockquote.wsdl"); 
     } catch (MalformedURLException e) { 
      java.util.logging.Logger.getLogger(StockQuote.class.getName()) 
       .log(java.util.logging.Level.INFO, 
        "Can not initialize the default wsdl from {0}", "file:/home/axiopisty/projects/cxf-wsdl2java-example/src/main/resources/stockquote.wsdl"); 
     } 
     WSDL_LOCATION = url; 
    } 

    public StockQuote(URL wsdlLocation) { 
     super(wsdlLocation, SERVICE); 
    } 

    public StockQuote(URL wsdlLocation, QName serviceName) { 
     super(wsdlLocation, serviceName); 
    } 

    public StockQuote() { 
     super(WSDL_LOCATION, SERVICE); 
    } 

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 
    //compliant code instead. 
    public StockQuote(WebServiceFeature ... features) { 
     super(WSDL_LOCATION, SERVICE, features); 
    } 

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 
    //compliant code instead. 
    public StockQuote(URL wsdlLocation, WebServiceFeature ... features) { 
     super(wsdlLocation, SERVICE, features); 
    } 

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 
    //compliant code instead. 
    public StockQuote(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) { 
     super(wsdlLocation, serviceName, features); 
    } 

    /** 
    * 
    * @return 
    *  returns StockQuoteHttpPost 
    */ 
    @WebEndpoint(name = "StockQuoteHttpPost") 
    public StockQuoteHttpPost getStockQuoteHttpPost() { 
     return super.getPort(StockQuoteHttpPost, StockQuoteHttpPost.class); 
    } 

    /** 
    * 
    * @param features 
    *  A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. 
    * @return 
    *  returns StockQuoteHttpPost 
    */ 
    @WebEndpoint(name = "StockQuoteHttpPost") 
    public StockQuoteHttpPost getStockQuoteHttpPost(WebServiceFeature... features) { 
     return super.getPort(StockQuoteHttpPost, StockQuoteHttpPost.class, features); 
    } 
    /** 
    * 
    * @return 
    *  returns StockQuoteSoap 
    */ 
    @WebEndpoint(name = "StockQuoteSoap") 
    public StockQuoteSoap getStockQuoteSoap() { 
     return super.getPort(StockQuoteSoap, StockQuoteSoap.class); 
    } 

    /** 
    * 
    * @param features 
    *  A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. 
    * @return 
    *  returns StockQuoteSoap 
    */ 
    @WebEndpoint(name = "StockQuoteSoap") 
    public StockQuoteSoap getStockQuoteSoap(WebServiceFeature... features) { 
     return super.getPort(StockQuoteSoap, StockQuoteSoap.class, features); 
    } 
    /** 
    * 
    * @return 
    *  returns StockQuoteSoap 
    */ 
    @WebEndpoint(name = "StockQuoteSoap12") 
    public StockQuoteSoap getStockQuoteSoap12() { 
     return super.getPort(StockQuoteSoap12, StockQuoteSoap.class); 
    } 

    /** 
    * 
    * @param features 
    *  A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. 
    * @return 
    *  returns StockQuoteSoap 
    */ 
    @WebEndpoint(name = "StockQuoteSoap12") 
    public StockQuoteSoap getStockQuoteSoap12(WebServiceFeature... features) { 
     return super.getPort(StockQuoteSoap12, StockQuoteSoap.class, features); 
    } 
    /** 
    * 
    * @return 
    *  returns StockQuoteHttpGet 
    */ 
    @WebEndpoint(name = "StockQuoteHttpGet") 
    public StockQuoteHttpGet getStockQuoteHttpGet() { 
     return super.getPort(StockQuoteHttpGet, StockQuoteHttpGet.class); 
    } 

    /** 
    * 
    * @param features 
    *  A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. 
    * @return 
    *  returns StockQuoteHttpGet 
    */ 
    @WebEndpoint(name = "StockQuoteHttpGet") 
    public StockQuoteHttpGet getStockQuoteHttpGet(WebServiceFeature... features) { 
     return super.getPort(StockQuoteHttpGet, StockQuoteHttpGet.class, features); 
    } 
} 

संपादित 9/11/2017

यहाँ सिर्फ मामले में wsdl फ़ाइल की सामग्री यह कभी की सेवा वेबसाइट चली जाती है।

stockquote.wsdl:

<?xml version="1.0" encoding="utf-8"?> 
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webserviceX.NET/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webserviceX.NET/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
    <wsdl:types> 
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET/"> 
     <s:element name="GetQuote"> 
     <s:complexType> 
      <s:sequence> 
      <s:element minOccurs="0" maxOccurs="1" name="symbol" type="s:string" /> 
      </s:sequence> 
     </s:complexType> 
     </s:element> 
     <s:element name="GetQuoteResponse"> 
     <s:complexType> 
      <s:sequence> 
      <s:element minOccurs="0" maxOccurs="1" name="GetQuoteResult" type="s:string" /> 
      </s:sequence> 
     </s:complexType> 
     </s:element> 
     <s:element name="string" nillable="true" type="s:string" /> 
    </s:schema> 
    </wsdl:types> 
    <wsdl:message name="GetQuoteSoapIn"> 
    <wsdl:part name="parameters" element="tns:GetQuote" /> 
    </wsdl:message> 
    <wsdl:message name="GetQuoteSoapOut"> 
    <wsdl:part name="parameters" element="tns:GetQuoteResponse" /> 
    </wsdl:message> 
    <wsdl:message name="GetQuoteHttpGetIn"> 
    <wsdl:part name="symbol" type="s:string" /> 
    </wsdl:message> 
    <wsdl:message name="GetQuoteHttpGetOut"> 
    <wsdl:part name="Body" element="tns:string" /> 
    </wsdl:message> 
    <wsdl:message name="GetQuoteHttpPostIn"> 
    <wsdl:part name="symbol" type="s:string" /> 
    </wsdl:message> 
    <wsdl:message name="GetQuoteHttpPostOut"> 
    <wsdl:part name="Body" element="tns:string" /> 
    </wsdl:message> 
    <wsdl:portType name="StockQuoteSoap"> 
    <wsdl:operation name="GetQuote"> 
     <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation> 
     <wsdl:input message="tns:GetQuoteSoapIn" /> 
     <wsdl:output message="tns:GetQuoteSoapOut" /> 
    </wsdl:operation> 
    </wsdl:portType> 
    <wsdl:portType name="StockQuoteHttpGet"> 
    <wsdl:operation name="GetQuote"> 
     <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation> 
     <wsdl:input message="tns:GetQuoteHttpGetIn" /> 
     <wsdl:output message="tns:GetQuoteHttpGetOut" /> 
    </wsdl:operation> 
    </wsdl:portType> 
    <wsdl:portType name="StockQuoteHttpPost"> 
    <wsdl:operation name="GetQuote"> 
     <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation> 
     <wsdl:input message="tns:GetQuoteHttpPostIn" /> 
     <wsdl:output message="tns:GetQuoteHttpPostOut" /> 
    </wsdl:operation> 
    </wsdl:portType> 
    <wsdl:binding name="StockQuoteSoap" type="tns:StockQuoteSoap"> 
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
    <wsdl:operation name="GetQuote"> 
     <soap:operation soapAction="http://www.webserviceX.NET/GetQuote" 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="StockQuoteSoap12" type="tns:StockQuoteSoap"> 
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
    <wsdl:operation name="GetQuote"> 
     <soap12:operation soapAction="http://www.webserviceX.NET/GetQuote" 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="StockQuoteHttpGet" type="tns:StockQuoteHttpGet"> 
    <http:binding verb="GET" /> 
    <wsdl:operation name="GetQuote"> 
     <http:operation location="/GetQuote" /> 
     <wsdl:input> 
     <http:urlEncoded /> 
     </wsdl:input> 
     <wsdl:output> 
     <mime:mimeXml part="Body" /> 
     </wsdl:output> 
    </wsdl:operation> 
    </wsdl:binding> 
    <wsdl:binding name="StockQuoteHttpPost" type="tns:StockQuoteHttpPost"> 
    <http:binding verb="POST" /> 
    <wsdl:operation name="GetQuote"> 
     <http:operation location="/GetQuote" /> 
     <wsdl:input> 
     <mime:content type="application/x-www-form-urlencoded" /> 
     </wsdl:input> 
     <wsdl:output> 
     <mime:mimeXml part="Body" /> 
     </wsdl:output> 
    </wsdl:operation> 
    </wsdl:binding> 
    <wsdl:service name="StockQuote"> 
    <wsdl:port name="StockQuoteSoap" binding="tns:StockQuoteSoap"> 
     <soap:address location="http://www.webservicex.net/stockquote.asmx" /> 
    </wsdl:port> 
    <wsdl:port name="StockQuoteSoap12" binding="tns:StockQuoteSoap12"> 
     <soap12:address location="http://www.webservicex.net/stockquote.asmx" /> 
    </wsdl:port> 
    <wsdl:port name="StockQuoteHttpGet" binding="tns:StockQuoteHttpGet"> 
     <http:address location="http://www.webservicex.net/stockquote.asmx" /> 
    </wsdl:port> 
    <wsdl:port name="StockQuoteHttpPost" binding="tns:StockQuoteHttpPost"> 
     <http:address location="http://www.webservicex.net/stockquote.asmx" /> 
    </wsdl:port> 
    </wsdl:service> 
</wsdl:definitions> 
+0

क्या आप कह रहे हैं कि यह एक मुख्य वर्ग बनाएगा जिसकी हर चीज तत्काल होनी चाहिए? –

+1

हां, तरह का। यह सिर्फ एक स्टब ग्राहक है। तो आपको वास्तविक डेटा के साथ ऑब्जेक्ट्स को पॉप्युलेट करना होगा, लेकिन जेनरेटेड स्टब क्लाइंट एक अच्छा उदाहरण देता है जो जेनरेट किए गए कोड का उपयोग कैसे करें। – axiopisty

+1

धन्यवाद आपने मेरा दिन बचाया - बहुत उपयोगी :) – Jangid

संबंधित मुद्दे