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 HTTPPostClientP rotocol
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
"getPlatinu mAds 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:HTTPPo st
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="htt p://schemas.xmlsoap .org/wsdl/http/"
xmlns:soap="htt p://schemas.xmlsoap .org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="urn:S earch"
xmlns:soapenc=" http://schemas.xmlsoap .org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="htt p://schemas.xmlsoap .org/wsdl/mime/"
targetNamespace ="urn:Search " name="SearchSer vice"
xmlns="http://schemas.xmlsoap .org/wsdl/">
<types>
<s:schema xmlns:wsdl="htt p://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:complexTyp e name="ArrayOfIn teger">
<s:complexConte nt mixed="false">
<s:restrictio n base="soap11-enc:Array">
<s:attribute wsdl:arrayType= "soap11-enc:int[]"
ref="soap11-enc:arrayType" />
</s:restriction>
</s:complexConten t>
</s:complexType>
<s:complexTyp e name="ArrayOfst ring">
<s:complexConte nt mixed="false">
<s:restrictio n base="soap11-enc:Array">
<s:attribute wsdl:arrayType= "s:string[]"
ref="soap11-enc:arrayType" />
</s:restriction>
</s:complexConten t>
</s:complexType>
</s:schema>
</types>
<message name="SearchIF_ compareAndContr ast">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_ compareAndContr astResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_ delete">
<part name="arrayOfIn teger_1" type="s0:ArrayO fInteger" />
</message>
<message name="SearchIF_ deleteResponse" />
<message name="SearchIF_ getItemsCount">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_ getItemsCountRe sponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_ getLookup">
<part name="arrayOfSt ring_1" type="s0:ArrayO fstring" />
</message>
<message name="SearchIF_ getLookupRespon se">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_ getPlatinumAds" >
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_ getPlatinumAdsR esponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_ saveCompareAndC ontrast">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_ saveCompareAndC ontrastResponse " />
<message name="SearchIF_ saveSearchAutoT rader">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_ saveSearchAutoT raderResponse" />
<message name="SearchIF_ saveSearchBasic ">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_ saveSearchBasic Response" />
<message name="SearchIF_ saveSearchCanne d">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_ saveSearchCanne dResponse" />
<message name="SearchIF_ saveSearchTradi ngpost">
<part name="String_1" type="s:string" />
<part name="String_2" type="s:string" />
</message>
<message name="SearchIF_ saveSearchTradi ngpostResponse" />
<message name="SearchIF_ searchAutoTrade r">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_ searchAutoTrade rResponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_ searchBasic">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_ searchBasicResp onse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_ searchCanned">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_ searchCannedRes ponse">
<part name="result" type="s:string" />
</message>
<message name="SearchIF_ searchTradingpo st">
<part name="String_1" type="s:string" />
</message>
<message name="SearchIF_ searchTradingpo stResponse">
<part name="result" type="s:string" />
</message>
<portType name="SearchIF" >
<operation name="compareAn dContrast" parameterOrder= "String_1">
<input message="s0:Sea rchIF_compareAn dContrast" />
<output message="s0:Sea rchIF_compareAn dContrastRespon se" />
</operation>
<operation name="delete" parameterOrder= "arrayOfInteger _1">
<input message="s0:Sea rchIF_delete" />
<output message="s0:Sea rchIF_deleteRes ponse" />
</operation>
<operation name="getItemsC ount" parameterOrder= "String_1">
<input message="s0:Sea rchIF_getItemsC ount" />
<output message="s0:Sea rchIF_getItemsC ountResponse" />
</operation>
<operation name="getLookup " parameterOrder= "arrayOfString_ 1">
<input message="s0:Sea rchIF_getLookup " />
<output message="s0:Sea rchIF_getLookup Response" />
</operation>
<operation name="getPlatin umAds" parameterOrder= "String_1">
<input message="s0:Sea rchIF_getPlatin umAds" />
<output message="s0:Sea rchIF_getPlatin umAdsResponse" />
</operation>
<operation name="saveCompa reAndContrast" parameterOrder= "String_1
String_2">
<input message="s0:Sea rchIF_saveCompa reAndContrast" />
<output message="s0:Sea rchIF_saveCompa reAndContrastRe sponse" />
</operation>
<operation name="saveSearc hAutoTrader" parameterOrder= "String_1
String_2">
<input message="s0:Sea rchIF_saveSearc hAutoTrader" />
<output message="s0:Sea rchIF_saveSearc hAutoTraderResp onse" />
</operation>
<operation name="saveSearc hBasic" parameterOrder= "String_1
String_2">
<input message="s0:Sea rchIF_saveSearc hBasic" />
<output message="s0:Sea rchIF_saveSearc hBasicResponse" />
</operation>
<operation name="saveSearc hCanned" parameterOrder= "String_1
String_2">
<input message="s0:Sea rchIF_saveSearc hCanned" />
<output message="s0:Sea rchIF_saveSearc hCannedResponse " />
</operation>
<operation name="saveSearc hTradingpost" parameterOrder= "String_1
String_2">
<input message="s0:Sea rchIF_saveSearc hTradingpost" />
<output message="s0:Sea rchIF_saveSearc hTradingpostRes ponse" />
</operation>
<operation name="searchAut oTrader" parameterOrder= "String_1">
<input message="s0:Sea rchIF_searchAut oTrader" />
<output message="s0:Sea rchIF_searchAut oTraderResponse " />
</operation>
<operation name="searchBas ic" parameterOrder= "String_1">
<input message="s0:Sea rchIF_searchBas ic" />
<output message="s0:Sea rchIF_searchBas icResponse" />
</operation>
<operation name="searchCan ned" parameterOrder= "String_1">
<input message="s0:Sea rchIF_searchCan ned" />
<output message="s0:Sea rchIF_searchCan nedResponse" />
</operation>
<operation name="searchTra dingpost" parameterOrder= "String_1">
<input message="s0:Sea rchIF_searchTra dingpost" />
<output message="s0:Sea rchIF_searchTra dingpostRespons e" />
</operation>
</portType>
<binding name="SearchIFB inding" type="s0:Search IF">
<soap:binding transport="http ://schemas.xmlsoap .org/soap/http"
style="rpc" />
<operation name="compareAn dContrast">
<soap:operati on 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:operati on 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="getItemsC ount">
<soap:operati on 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:operati on 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="getPlatin umAds">
<soap:operati on 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="saveCompa reAndContrast">
<soap:operati on 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="saveSearc hAutoTrader">
<soap:operati on 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="saveSearc hBasic">
<soap:operati on 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="saveSearc hCanned">
<soap:operati on 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="saveSearc hTradingpost">
<soap:operati on 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="searchAut oTrader">
<soap:operati on 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="searchBas ic">
<soap:operati on 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="searchCan ned">
<soap:operati on 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="searchTra dingpost">
<soap:operati on 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="SearchSer vice">
<port name="SearchIFP ort" binding="s0:Sea rchIFBinding">
<soap:address
location="http://lisa.trader:200 02/AdSearch/search"/>
</port>
</service>
</definitions>