Hallo,
ich bins schon wieder.
Um mit einem Webservice zu kommunizieren habe ich mich entschlossen die WinHttp.au3 UDF zu nutzen: Hier
Soweit klappt auch alles bis auf den Body. Da erhalte ich nicht die erwartete Antwort. Ich vermute mal das ich irgendwo noch eine Default-Einstellung ändern muss - vielleicht weiß einer von euch da besser bescheid, ich konnte bisher in der Hilfe und im Forum nichts dazu finden.
Die URL habe ich schon im Browser überprüft, da erhalte ich die richtige XML Ausgabe, die Antwort über WinHttp allerdings nicht.
Global $HostURL = "www.idtdna.com"
test()
Func test()
$httpOpen = _WinHttpOpen()
$httpConnection = _WinHttpConnect($httpOpen, $HostURL)
$hairpins = _getHairpins($httpConnection, "ATTTGCGTATAGCGCGAT")
$homoDimers = _getHomodimers($httpConnection, "ATTTGCGTATAGCGCGAT")
_WinHttpCloseHandle($httpConnection)
_WinHttpCloseHandle($httpOpen)
EndFunc ;==>test
Func _getHairpins($connection, $sequence)
$httpRequest = _WinHttpOpenRequest($connection, "GET", $HostURL & "/AnalyzerService/AnalyzerService.asmx/UNAFoldRun?Sequence=" & $sequence & "&isRNA=FALSE")
_WinHttpSendRequest($httpRequest)
_WinHttpReceiveResponse($httpRequest)
$header = _WinHttpQueryHeaders($httpRequest)
$data = _WinHttpQueryDataAvailable($httpRequest) ;liefert nur 1
MsgBox(0, "Hairpins", $header)
MsgBox(0, "Hairpins", $data)
ClipPut($data)
EndFunc ;==>_getHairpins
Func _getHomodimers($connection, $sequence)
$httpRequest = _WinHttpOpenRequest($connection, "GET", $HostURL & "/AnalyzerService/AnalyzerService.asmx/SelfDimer?Sequence=" & $sequence)
_WinHttpSendRequest($httpRequest)
_WinHttpReceiveResponse($httpRequest)
$header = _WinHttpQueryHeaders($httpRequest)
$data = _WinHttpReadData($httpRequest) ;liefert einen Body, aber nicht den richtigen
MsgBox(0, "Homo", $header)
MsgBox(0, "Hairpins", $data)
EndFunc ;==>_getHomodimers
Alles anzeigen
Die Antwort die ich auf den Hairpin Aufruf erwarte ist hier zu sehen (XML
http://www.idtdna.com/AnalyzerService/AnalyzerService.asmx/UNAFoldRun?Sequence=ATTTGCGTATAGCGCGAT&isRNA=FALSE
Die Antwort die ich erhalte ist folgendes HTML Dokument (mit ReadData, nicht QueryData!), wohlgemerkt noch auf 8192 Bytes gekürzt (Default):
Spoiler anzeigen
<!DOCTYPE html><html xmlns:g="remove" > <head><meta http-equiv="Content-Type" content="text/html; charset=utf-16" /><title> Integrated DNA Technologies</title><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="/favicon.ico" /><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><link href="/Styles/idtdna-countrydrop.css" rel="stylesheet" type="text/css" /><link rel="stylesheet" href="/bootstrap/3.2.0/css/bootstrap.min.css?v=2" /><link rel="stylesheet" href="/bootstrap/3.1.1/css/font-awesome.css" /><link rel="stylesheet" href="/bootstrap/3.2.0/css/bootstrap-theme.min.css" /><link href="/Styles/jquery/themeroller/jquery-ui-1.8.17.custom.css" rel="stylesheet" type="text/css" /><link href="/bootstrap/3.1.1/yamm/css/yamm.css" rel="stylesheet" /><link href="/bootstrap/3.1.1/css/bootstrap-social.css" rel="stylesheet" type="text/css" /><script type="text/javascript" src="/JScripts/jquery-1.7.1.min.js">Â </script><script type="text/javascript" src="/JScripts/uAnalyticsLoad.js">Â </script><script type="text/javascript" src="/JScripts/IDTHeader.js?v=5">Â </script><link href="/bootstrap/3.1.1/css/idt-skin.css?v=12" rel="stylesheet" type="text/css" /><link href="/Styles/webLegacy.css?v=2" rel="stylesheet" type="text/css" /></head> <body><script src="/bootstrap/3.1.1/js/bootstrap.min.js">Â </script><!--[if IE]><script src="/bootstrap/3.0.3/js/html5shiv.js"> </script><script src="/bootstrap/3.0.3/js/respond.min.js"> </script><![endif]--><script type="text/javascript" src="/JScripts/idtdna-searchcloudV6.js?v=2">Â </script><script type="text/javascript" src="/JScripts/idtdna-countrydrop.js">Â </script><script type="text/javascript" src="/JScripts/knockout-3.4.0.js">Â </script><script type="text/javascript"> $.ajax({ url: '//munchkin.marketo.net/munchkin.js', dataType: 'script', cache: true, success: function() { Munchkin.init('400-UEU-432'); } }); </script><script type="text/javascript"> $(document).ready(function () {
if (!isOnSearchResultsPage()) { var searchModel = new SearchVM(''); ko.applyBindings(searchModel, document.getElementById('searchInput')); ko.applyBindings(searchModel, document.getElementById('quicksearch_output')); }
var header = new HeaderVM(); ko.applyBindings(header, document.getElementById('headerInfoVM')); }); </script><script src="/jscripts/jquery.idletimer.js" type="text/javascript">Â </script><script src="/jscripts/jquery.idletimeout.js" type="text/javascript">Â </script><script src="/Jscripts/jquery-ui.min.js" type="text/javascript">Â </script><div id="idletimeout"> You will be logged off in <span>Â </span>Â seconds due to inactivity.<a id="idletimeout-resume" href="#">Â Click here to continue using this web page</a>. </div> <form name="frmMain" method="post" action="404.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="frmMain"><div><input type="hidden" name="UiScriptManager_HiddenField" id="UiScriptManager_HiddenField" value="" /><input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /><input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="rEqEUjSK1qegbYctp7oquwPgiObtCZjFBXs3zHJq8if26YsWWKEylQFvzN0ondv0BUUYcW7mORyy+ckrARFAddEL9DclUvKSMz0qBOIBtPw/Wt+kWNLGFtB9ZugHUy+psboXskAKrcZzeycEBudBBZSUzsanBknZtqQir4KXS8IV+hhKlMGmp+iSdoNSeLs4AH/g+D58W07gmZBNGOOOEFhf3+4=" /></div>
<script type="text/javascript">//<![CDATA[var theForm = document.forms['frmMain'];if (!theForm) { theForm = document.frmMain;}function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); }}//]]></script>
<script src="/WebResource.axd?d=pynGkmcFUV13He1Qd6_TZBbbbljAaFk9rN_sMHHmb2h6tkLsRw5tKerwfqYukrJYx6N7xg2&t=635705514395874195" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=1HpV3OVB0CaEXoaafcqmhrJO5BhZcbBnbaHkzdxB2SlIeX6A3h301CrWEWGkEmZYKzEkWUk4HanGOdopXjlRIea6cA4s6oFqhPGzkAjtWUA5WeREJHRYQXlK3p8ckdnQNbFFDQ2&t=67b36971" type="text/javascript"></script><script src="/ScriptResource.axd?d=uHIkleVeDJf4xS50Krz-yK61inFW-U83zGvSIl9aQK8PMBSA64ADolWOTBtfiUem-wNiH1sATNQX8ug5KJh1UvE4JgO35p6cTCvRgwqYaqaxpvGNBZoicE0B_MbYW1PQq-_HjQEWwRD_ytiSbRdwyVA9Owk1&t=ffffffff88e65ea0" type="text/javascript"></script><script src="/ScriptResource.axd?d=Jw6tUGWnA15YEa3ai3FadPZtawCkR9sr3foyEqvZMD3LDe88sed1kG684M4Wd9quSn9uiiGshpf-3J5dfCn7MnMcGRJaPA1ihZ5kjE3i-g6WlR-0PnnO2Z6JJUEiqWyVlJjc7IJ7sD-o_PTRGRV_XSkSYlg1&t=ffffffff88e65ea0" type="text/javascript"></script><script type="text/javascript">//<![CDATA[function WebForm_OnSubmit() {if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;return true;}//]]></script>
<div>
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="193A34DB" /></div> <div class="container"> <div class="row idt-header"> <div class="col-xs-12 col-sm-3 col-md-5 col-lg-5"><a href="/" title="EC2EUCELL2"><img class="img-responsive" src="/img/IDTLogos/IDT-Logo-2014-sm.png" style="width:auto;" alt="EC2EUCELL2"></a></div> <div class="col-xs-12 col-sm-9 col-md-7 col-lg-7"> <div class="row" id="headerInfoVM"> <div class="col-xs-6 col-sm-5 col-md-4 col-lg-4"> <div class="btn-group pull-right"><!--ko if: !SignedIn() --><a href="/site/account" class="btn btn-link"><span data-bind="text: LoginName"></span></a><!--/ko --><!--ko if: SignedIn --><a href="/account/dashboard.aspx" class="btn btn-link"><span data-bind="text: LoginName"></span></a><!-- /ko --><button type="button" class="btn btn-link dropdown-toggle" data-toggle="dropdown"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button><ul class="dropdown-menu" role="menu"> <li><a href="/account/dashboard.aspx">My Account</a></li><!--ko if: ServerClass() == "stage" || ServerClass() == "local" --><li><a href="/site/orderstatus/orderstatus">Order History</a></li><!-- /ko --><!--ko if: ServerClass() != "stage" && ServerClass() != "local" --><li><a href="/orderstatus/">Order History</a></li><!-- /ko --><li><a href="/site/order/wishlist">Wish List</a></li> <li><a href="/lablinker/Group/CurrentGroups.aspx">LabLinker</a></li> <li><a href="/site/oligocard/oligocard/management">OligoCards</a></li><!--ko if: isAdmin --><li class="divider"></li> <li><a href="/siteadmin/siteadmin.aspx">Site Admin</a></li><!-- /ko --><!--ko if: SignedIn --><li class="divider"></li> <li><a href="/site/home/home/LogOff">Sign out</a></li><!-- /ko --></ul> </div> </div> <div class="col-xs-6 col-sm-1 col-md-1 col-lg-1"> <div class="btn-group"><button type="button" class="btn btn-link dropdown-toggle" data-toggle="dropdown"><img width="16" height="11" class="hidden-xs" data-bind="
attr:{src:Countries.currentCountryImgSource}
"><span class="visible-xs">Choose Country <span class="caret"></span></span></button><ul class="dropdown-menu" role="menu" data-bind="foreach: Countries.countries"> <li><a data-bind="
text: CountryName, attr:{href:'/country.aspx?country=' + CountryCode}
"></a></li> </ul>
Alles anzeigen
Über Vorschläge bin ich dankbar,
Aquaplant
EDIT:
Im ganzen HTML Body steht noch:
"Page Not Found We apologize, we are unable to locate the resource you are looking for."
Dann scheint doch etwas mit der URL nicht zu stimmen.
EDIT2: Ok, hab den Fehler gefunden *schäm* ich hab den Host zweimal im GET Request drin
Vielleicht kann den Post jemand löschen?