Envelopexmlns:
SOAP-ENV=\"">Header/>\r\n"+
"Body>"+
"lang=\"en\"timestamp=\""+ts+"\">\r\n"+
"\r\n"+
"\r\n"+
""+msgid+""+
"\r\n"+
"\r\n"+
"
Body>\r\n"+
"
Envelope>";
returnrespText;
}
privateStringgetTimeStamp()
{
Datetoday=newDate();
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd'T'HH:
mm:
ssZ");
etLog("");
PlainConnectionSocketFactoryplainsf;
booleancheckForDefaultPort;
booleanauthenticationPreemptive;
CloseableHttpClienthttpclient;
CommonsHTTPClientPropertiesclientProperties;
booleanhttpChunkStream;
publicvoidinit()
{
();
authenticationPreemptive=((String)getOption("")).booleanValue();
clientProperties=();
}
publicMyntlm(){
etProperty("checkForDefaultPort"));
HttpClientContextcontext=();
httpclientbuilder=createHttpClient(msgContext,context,targetURL);
RequestConfigreqConf=createRequestConfig(msgContext,targetURL,
httpclientbuilder);
booleanrestful=(
("enableREST")).booleanValue();
booleanposting=true;
StringwebMethod=null;
if()==
webMethod=("");
if(webMethod==null)
webMethod="POST";
else
posting=("POST")||("PUT");
if(posting){
if("put"))
method=newHttpPut());
else
method=newHttpPost());
}else{
method=newHttpGet());
}
addContextInfo(method,reqConf,msgContext,targetURL);
(reqConf);
StringhttpVersion=msgContext
.getStrProp("");
if(httpVersion!
=null&&("HTTP/"))
;
else
;
ByteArrayOutputStreambinReq=newByteArrayOutputStream();
StringcontentType="text/xml";
MessagereqMsg=();
if(reqMsg!
=null){
if(restful){
SOAPPartpart=();
Stringtypes[]=("Content-Type");
if(types!
=null&&>0)
contentType=types[0];
if(!
(
"Content-Type").getValue())){
("Content-Type");
("Content-Type",contentType);
}
(null);
("",
"false");
((newStringBuilder()).append("restmessageis:
")
.append(newString()))
.toString());
}else{
contentType=(msgContext
.getSOAPConstants());
}
(binReq);
}
((newStringBuilder()).append(
"Contenttypeofrequestmessagedeterminedto:
").append(
contentType).toString());
HttpEntityreqEntity=null;
if(posting){
EntityBuilderreqBuilder=();
());
if(""))
();
elseif())
();
(contentType));
reqEntity=();
if(method
.containsHeader){
("removingoldcontentencodingvalue...");
method
.removeHeaders;
}
((newStringBuilder()).append("settingchunkedto")
.append(httpChunkStream).toString());
((AbstractHttpEntity)reqEntity).setChunked(httpChunkStream);
((HttpEntityEnclosingRequest)method).setEntity(reqEntity);
}
HttpHosttarget=newHttpHost(),targetURL
.getPort(),());
httpclient=();
((newStringBuilder()).append("targetconfiguredto:
")
.append()).append("andcallingit...")
.toString());
CloseableHttpResponseresp=(target,method,
context);
intrespCode=().getStatusCode();
((newStringBuilder()).append(
"CalledsuccessfullywithHTTPcode:
").append(respCode)
.toString());
contentType=getHeader(resp,"Content-Type");
StringcontentLocation=getHeader(resp,"Content-Location");
StringcontentLength=getHeader(resp,"Content-Length");
if((respCode<=199||respCode>=300)
&&("text/html".equalsIgnoreCase(contentType)
||respCode<=499||respCode>=600)){
StringstatusMessage=().getReasonPhrase();
AxisFaultfault=newAxisFault("HTTP",(newStringBuilder())
.append("(").append(respCode).append(")").append(
statusMessage).toString(),null,null);
("return01",
(newStringBuilder()).append("").append(
()))
.toString()));
(respCode));
throwfault;
}
respBody=();
HeadercontEnc=();
if(contEnc!
=null){
HeaderElementelems[]=();
HeaderElementarr$[]=elems;
intlen$=arr$.length;
for(inti$=0;i$HeaderElementel=arr$[i$];
if("gzip".equalsIgnoreCase())){
respBody=newGzipDecompressingEntity(respBody);
(respBody);
}
}
}
HeaderresponseHeaders[]=();
Stringenc=(respBody);
if(enc==null)
enc="iso-8859-1";
MessageoutMsg=null;
((newStringBuilder()).append(
"Contenttypeofresponsemessagedeterminedto:
").append(
contentType).toString());
if(restful){
outMsg=newMessage(respBody
.getContent(),enc,"UTF-8",false),false,
contentType,contentLocation);
().setMimeHeader("Content-Type",contentType);
try{
("",
"UTF-8");
}catch(SOAPExceptione){
("Errorwhilesettingmessageencoding",e);
}
}elseif(contentLength!
=null
&&"0".equalsIgnoreCase(contentLength))
outMsg=newMessage(newSOAPEnvelope());
else
outMsg=newMessage(),false,contentType,
contentLocation);
();
MimeHeadersresponseMimeHeaders=();
for(inti=0;i<;i++){
HeaderresponseHeader=responseHeaders[i];
(),
());
}
("response");
(outMsg);
if()){
Headerheaders[]=();
for(inti=0;i<;i++){
if(headers[i].getName().equalsIgnoreCase("Set-Cookie")){
handleCookie("Cookie",headers[i].getValue(),
msgContext);
continue;
}
if(headers[i].getName().equalsIgnoreCase("Set-Cookie2"))
handleCookie("Cookie2",headers[i].getValue(),
msgContext);
}
}
}catch(Exceptione){
("Error",e);
thrownewAxisFault("ErrorwhileinvokingHttpClientSender:
",e);
}
if(httpclient!
=null)
try{
();
}catch(IOExceptione){
("Errorwhileclosinghttpclient:
",e);
}
try{
();
}catch(IOExceptione){
("Errorwhileclosinghttpclient:
",e);
}
}
publicvoidhandleCookie(StringcookieName,Stringacookie,
MessageContextmsgContext){
Stringck[]=(",");
ArrayListcookies=newArrayList();
for(inti=0;i<;i++){
intindex=ck[i].indexOf(";");
if(index!
=-1)
ck[i]=ck[i].substring(0,index);
index=ck[i].indexOf("=");
Stringkey=index!
=-1ck[i].substring(0,index):
ck[i];
ObjectoldCookies=(cookieName);
booleanalreadyExist=false;
if(oldCookies!
=null)
if(oldCookiesinstanceofString[]){
StringoldCookiesArray[]=(String[])(String[])oldCookies;
for(intj=0;j<;j++){
StringanOldCookie=oldCookiesArray[j];
if(key!
=null&&(key)==0){
anOldCookie=ck[i];
alreadyExist=true;
}
(anOldCookie);
}
}else{
StringoldCookie=(String)oldCookies;
if(key!
=null&&(key)==0){
oldCookie=ck[i];
alreadyExist=true;
}
(oldCookie);
}
if(!
alreadyExist)
(ck[i]);
}
if()==1)
(cookieName,(0));
elseif()>1)
(cookieName,((Object)(cookies
.toArray(newString[()]))));
}
privateStringgetHeader(HttpResponseresp,Stringheader){
Headerh=(header);
returnh!
=null():
null;
}
privatevoidaddContextInfo(HttpRequestBasemethod,RequestConfigreqConf,
MessageContextmsgContext,URLtargetURL)throwsException{
Stringaction=()msgContext
.getSOAPActionURI():
"";
if(action==null)
action="";
Messagemsg=();
if(msg!
=null){
StringcontentType=(msgContext
.getSOAPConstants());
if()
&&()==
&&()==0)
contentType=(newStringBuilder()).append(contentType).append(
";action=\"").append(action).append("\"").toString();
("Content-Type",contentType);
}
if()==
||("attachment_encapsulation_format")=="")
("SOAPAction",(newStringBuilder()).append("\"")
.append(action).append("\"").toString());
("User-Agent",("axisUserAgent"));
if(""))
("Accept-Encoding","gzip");
MimeHea