OK so there are a few things going on. I succesfully created a SOAP
webreference in VS IDE which when built works fine under small amounts
of load, however under heavy amounts of load we start to see a
performance issue on the J2EE (CPU utilisation max's out) the load
testing tool can hit the web service directly using HTTP posts and for
the same amount of load the webservice performs considerably better. So
the JAVA guys have asked me if I can use HTTP posts instead of SOAP
requests. Which I should be able to do using the HTTPPostClientProtocol
class in .NET. I tried just playing around with it creating one
manually using the SOAP reference.cs which had been generated by the
webrefernece as a guide however when ever I made calls to it I'd get
"getPlatinumAds Web Service method name is not valid. Parameter name:
methodName." errors where getPlatinumAds is the method I'm trying to
call, so I figured I'd missed something so then I tried creating a
proxy class using the WSDL.exe tool, except when I i specified the
protocol as HTTPPost("wsdl /l:cs /protocol:HTTPPost
http://lisa:20002/AdSearch/search?wsdl") I got a "Warning: no classes
were generated." if I specify the protocol as SOAP ("wsdl /l:cs
/protocol:SOAP http://lisa:20002/AdSearch/search?wsdl") everything
works fine and the proxy is generated however that's where I was to
start with. I don't need a SOAP proxy class I need a HTTPPost Proxy
class.
Any help or pointers would be greatly appreciated.
Thanks, Ben Dyer.
The WSDL file is :::
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="urn:Search"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="urn:Search" name="SearchService"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
targetNamespace="urn:Search">
<s:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<s:complexType name="ArrayOfInteger">
<s:complexContent mixed="false">
<s:restriction base="soap11-enc:Array">
<s:attribute wsdl:arrayType="soap11-enc:int[]"
ref="soap11-enc:arrayType" />
</s:restriction>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfstring">
<s:complexContent mixed="false">
<s:restriction base="soap11-enc:Array">
<s:attribute wsdl:arrayType="s:string[]"
ref="soap11-enc:arrayType" />
</s:restriction>
</s:complexContent>
</s:complexType>
</s:schema>
</types>
<message name="SearchIF_compareAndContrast">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_compareAndContrastResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_delete">
<part name="arrayOfInteger_1" type="s0:ArrayOfInteger" />
</message>
<message name="SearchIF_deleteResponse" />
<message name="SearchIF_getItemsCount">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_getItemsCountResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_getLookup">
<part name="arrayOfString_1" type="s0:ArrayOfstring" />
</message>
<message name="SearchIF_getLookupResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_getPlatinumAds">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_getPlatinumAdsResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_saveCompareAndContrast">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_saveCompareAndContrastResponse" />
<message name="SearchIF_saveSearchAutoTrader">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_saveSearchAutoTraderResponse" />
<message name="SearchIF_saveSearchBasic">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_saveSearchBasicResponse" />
<message name="SearchIF_saveSearchCanned">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_saveSearchCannedResponse" />
<message name="SearchIF_saveSearchTradingpost">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_saveSearchTradingpostResponse" />
<message name="SearchIF_searchAutoTrader">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_searchAutoTraderResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_searchBasic">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_searchBasicResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_searchCanned">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_searchCannedResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_searchTradingpost">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_searchTradingpostResponse">
<part name="result" type="s:string" />
</message>
<portType name="SearchIF">
<operation name="compareAndContrast" parameterOrder="String_1">
<input message="s0:SearchIF_compareAndContrast" />
<output message="s0:SearchIF_compareAndContrastResponse" />
</operation>
<operation name="delete" parameterOrder="arrayOfInteger_1">
<input message="s0:SearchIF_delete" />
<output message="s0:SearchIF_deleteResponse" />
</operation>
<operation name="getItemsCount" parameterOrder="String_1">
<input message="s0:SearchIF_getItemsCount" />
<output message="s0:SearchIF_getItemsCountResponse" />
</operation>
<operation name="getLookup" parameterOrder="arrayOfString_1">
<input message="s0:SearchIF_getLookup" />
<output message="s0:SearchIF_getLookupResponse" />
</operation>
<operation name="getPlatinumAds" parameterOrder="String_1">
<input message="s0:SearchIF_getPlatinumAds" />
<output message="s0:SearchIF_getPlatinumAdsResponse" />
</operation>
<operation name="saveCompareAndContrast" parameterOrder="String_1
String_2">
<input message="s0:SearchIF_saveCompareAndContrast" />
<output message="s0:SearchIF_saveCompareAndContrastRespons e" />
</operation>
<operation name="saveSearchAutoTrader" parameterOrder="String_1
String_2">
<input message="s0:SearchIF_saveSearchAutoTrader" />
<output message="s0:SearchIF_saveSearchAutoTraderResponse" />
</operation>
<operation name="saveSearchBasic" parameterOrder="String_1
String_2">
<input message="s0:SearchIF_saveSearchBasic" />
<output message="s0:SearchIF_saveSearchBasicResponse" />
</operation>
<operation name="saveSearchCanned" parameterOrder="String_1
String_2">
<input message="s0:SearchIF_saveSearchCanned" />
<output message="s0:SearchIF_saveSearchCannedResponse" />
</operation>
<operation name="saveSearchTradingpost" parameterOrder="String_1
String_2">
<input message="s0:SearchIF_saveSearchTradingpost" />
<output message="s0:SearchIF_saveSearchTradingpostResponse " />
</operation>
<operation name="searchAutoTrader" parameterOrder="String_1">
<input message="s0:SearchIF_searchAutoTrader" />
<output message="s0:SearchIF_searchAutoTraderResponse" />
</operation>
<operation name="searchBasic" parameterOrder="String_1">
<input message="s0:SearchIF_searchBasic" />
<output message="s0:SearchIF_searchBasicResponse" />
</operation>
<operation name="searchCanned" parameterOrder="String_1">
<input message="s0:SearchIF_searchCanned" />
<output message="s0:SearchIF_searchCannedResponse" />
</operation>
<operation name="searchTradingpost" parameterOrder="String_1">
<input message="s0:SearchIF_searchTradingpost" />
<output message="s0:SearchIF_searchTradingpostResponse" />
</operation>
</portType>
<binding name="SearchIFBinding" type="s0:SearchIF">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="rpc" />
<operation name="compareAndContrast">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="delete">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="getItemsCount">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="getLookup">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="getPlatinumAds">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="saveCompareAndContrast">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="saveSearchAutoTrader">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="saveSearchBasic">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="saveSearchCanned">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="saveSearchTradingpost">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="searchAutoTrader">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="searchBasic">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="searchCanned">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="searchTradingpost">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="urn:Search"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
<service name="SearchService">
<port name="SearchIFPort" binding="s0:SearchIFBinding">
<soap:address
location="http://lisa.trader:20002/AdSearch/search"/>
</port>
</service>
</definitions>