Search the Community
Showing results for tags 'soap'.
-
I'm a student/Intern at an Agency and I was asked to test an HTTP request to a server using a code given in the servers doc which goes like this : <?php $client = new httpClient; $request = new http\Client\Request; $body = new http\Message\Body; $body->append(' <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <WebServiceDiva xmlns="http://www.Divalto.fr/WebService/"> <action><action>WP_CREATECLI</action> <param> {licence:"XXXXX=",client: {"dos":"2","nom":"Alex Xela","adr1":"53 Bd Carnot","adr2":"","adr3":"","adr4":"","cpostal":"06400","vil":"Cannes","tel":"053837979","email":"user1@devtest.com","siret":"","naf":"","regcod":"CB","tvatie":"0","catclicod":"","tacod":"","tarcod":"","blmod":"DPD","texcod1":"","texcod2":"","texcod3":"","texcod4":"","tvano":"","visa":"2"},adresse: {"nom":"Alex Xela","adr1":"53 Bd Carnot","adr2":"","adr3":"","adr4":"","cpostal":"06400","ville":"","tel":"053837979","email":"user1@devtest.com","livprincipale":"2","facprincipale":""},contact: {"contact":"Customer","nom":"Alex Xela","prenom":"","tit":"","lib":"","tel":"","telgsm":"","fax":"","email":"user1@devtest.com","servcod":"","fctcod":""},banque: {"ribcod":"","ribdo":"","iban1":"","iban2":"","iban3":""}} </param> </WebServiceDiva> </soap:Body> </soap:Envelope> '); $request->setRequestUrl('https://divaltosainteroseline.coaxis.com/WebServiceDiva/WebServiceDiva.asmx'); $request->setRequestMethod('POST'); $request->setBody($body); $request->setHeaders(array( 'accept-encoding' => 'gzip', 'content-type' => 'text/xml' )); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody(); ?> The problem is I can't even get throught the first lines when I execute the code, It says that there is no class Http\Client or Http\Client\Message or Http\Client\Request. and I looked for these classes in php doc but couldn't find anything. also after 3 days of research I only found SaopClient and SoapCall Classes that really treat HTTP and SOAP communication but the tech guy at the server company tells me that this is the way to connect using php and I'm completely lost and need ur help
-
Good morning guys. I am pulling data from vehicle tracking site via soap curl. but the data format that I am getting it in is unusable, maybee i am doing something wrong. please have a look. here is the code. <?php //Data, connection, auth $dataFromTheForm = $_POST['fieldName']; // request data from the form $soapUrl = "https://fleet11.******.co.za/api/"; // asmx URL of WSDL $soapUser = "********"; // username $soapPassword = "********"; // password // xml post structure $xml_post_string = '<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="fleet11.cartrack.co.za/api/"> <soapenv:Header/> <soapenv:Body> <api:endpoint.get_vehicle_last_positions soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <username xsi:type="xsd:string">?</username> </api:endpoint.get_vehicle_last_positions> </soapenv:Body> </soapenv:Envelope>'; $headers = array( "Content-type: application/x-www-form-urlencoded", "Accept: text/xml", "Cache-Control: no-cache", "Pragma: no-cache", "SOAPAction: fleet11.******.co.za/api/#get_vehicle_last_positions", "Content-length: ".strlen($xml_post_string), ); $url = $soapUrl; // var_dump($url); $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, $soapUser.":".$soapPassword); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); `curl_setopt($ch, CURLOPT_HEADER, true);` // converting $response = curl_exec($ch); curl_close($ch); //paul add //echo "<pre>"; print_r($response); What is returning is single line entries How di i get this into a format to import into mysql
-
Hi all, I am a Junior Developer, I have taken over someone's implementation of a web service and am struggling. They used python to access the methods. I can access the web service via Python and connect it to our databases, but it is really slow. I believe that PHP would make it faster, but I am not able to make the right connections. Any help would be really appreciated. I have included some code snippets below, Thank you, Jim ###################################################################### Python ###################################################################### #!/usr/bin/python ###################################################################### # Module imports ###################################################################### from suds.client import Client from suds.wsse import * from xml.dom import minidom import MySQLdb ###################################################################### # Address Interface. ###################################################################### class Address(object): def __init__(self, ttl=600): # Constants. self._USERNAME = 'username' self._PASSWORD = 'password' self._address_search_url = 'https://jim.svc?wsdl' # SOAP security setup. self._security = Security() self._token = UsernameToken(self._USERNAME, self._PASSWORD) self._security.tokens.append(self._token) #print 'Starting Address Search.' self._address_search_client = Client(self._address_search_url) self._address_search_client.set_options(wsse=self._security) # Addresses. ######################################################## def address_search_by_postcode(self, postcode): RegsRegionType = self._address_search_client.factory.create('ns1:RegsRegionType') regs_region = RegsRegionType.Scotland address_data = self._address_search_client.service.SearchAddressByPostCode(regs_region, RegisterType.Domestic, postcode, '') addrs = [] for addr in address_data.keys.string: address_dom = minidom.parseString(addr.encode('utf-8')) ob = {} #Get addr details addrs.append(ob) return addrs ###################################################################### def get_data(d, t): try: return d.getElementsByTagName(t)[0].childNodes[0].data except: return None ###################################################################### PHP ###################################################################### <?php error_reporting(E_ALL); ini_set('display_errors', 'on'); $username = "username"; $password = 'password'; $wsdl = "https://jim.svc?wsdl"; // SOAP security setup $options = array( 'login' => $username, 'password' => $password, ); /////////////////////////////////////////////////////////////////////////////// Connect ////////////////////////////////////////////////////////////////////////////// $client = new SoapClient($wsdl, $options); ////////////////////////////////////////////////////////////////////////////// define wsse security ////////////////////////////////////////////////////////////////////////////// $securityNamespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"; $headerContent = "<o:Security xmlns:o=\"$securityNamespace\"> <o:UsernameToken> <o:Username>USERNAME</o:Username> <o:Password>PASSWORD</o:Password> </o:UsernameToken> </o:Security>"; $headerVar = new SoapVar($headerContent, XSD_ANYXML, null, null, null); $header = new SoapHeader($securityNamespace, 'o:Security', $headerVar); ////////////////////////////////////////////////////////////////////////////// Authenticate ////////////////////////////////////////////////////////////////////////////// $client->__setSoapHeaders(array($header)); var_dump($client->__getFunctions()); try{ $result = $client->SearchAddressByPostCode($regsRegion, $registerType, $postCode, " "); print_r($result); }catch (SoapFault $exception){ var_dump($exception); } print('done'); ?> ////////////////////////////////////////////////////////////////////////////// END ////////////////////////////////////////////////////////////////////////////// Hope someone can help and point me in the right direction Thanks JIm
-
I'm trying to use the code below to make a SOAP request to a vendor's web service: $client = new SoapClient('http://my.domain.com/wsdl/GuestService.WSDL', array('connection_timeout' => 15, 'trace' => 1)); $ns = 'http://vendor.domain.com/'; $headerbody = array('brand' => 'BRAND1', 'locale' => 'en_us', 'securityCredentials'=>array('applicationId'=>'ABCDEF', 'token'=>'123456789123456789123456789')); $header = new SoapHeader($ns, 'Header', $headerbody); $client->__setSoapHeaders($header); $result = $client->getGuest(array('guestID' => '000787')); However, I'm getting an error back that no credentials were supplied so I must be doing something wrong. Error message: Uncaught SoapFault exception: [soapenv:NO_CREDENTIALS] I reached out to the vendor and they sent me an XML sample of how they're expecting to receive the data: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prox="http://vendor.domain.com" xmlns:gues="http://vendor.domain.com/guest"> <soapenv:Header> <prox:brand>BRAND1</prox:brand> <prox:locale>en_us</prox:locale> <prox:securityCredentials> <prox:applicationId>ABCDEF</prox:applicationId> <prox:token> 123456789123456789123456789</prox:token> </prox:securityCredentials> </soapenv:Header> <soapenv:Body> <gues:getGuest> <guestID>000787</guestID> </gues:getGuest> </soapenv:Body> </soapenv:Envelope> I thought I had accounted for everything in the above but maybe I'm missing something obvious. Really appreciate any help!
-
I will warn you that i have never used PHP to call a web service but have spent the last 2 days googling with trial and error and think that i have come to a point where i have no idea what to do as nothing is working. Here is my PHP code... <?php $soapclient = new SoapClient('Link-To-EndPoint'); $params = array('Username' => 'Username', 'Password' => 'Password', 'clientRequestId' => 1, 'projectNumber' => 64111, 'requestDateTime' => '2014-03-16T11:05:24.572Z', 'itemNumber' => 'F00573019120B', 'projectNumber' => 64111 ); $response = $soapclient->GetItemDetailInfo($params); echo '<pre>'; var_dump($response); echo '</pre>'; ?> And here is the request, probably worth noting that this gives the full response and works when i use SOAP UI to make the request. <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <UsernameToken> <Username>Username</Username> <Password>Password</Password> </UsernameToken> </Security> </env:Header> <env:Body> <getItemDetailInfoRequest> <requestHeader> <clientRequestId>1</clientRequestId> <projectNumber>64111</projectNumber> <requestDateTime>2014-03-20T14:05:24.572Z</requestDateTime> </requestHeader> <getItemDetailInfoList> <itemDetailSearchCriteria> <itemNumber>F00573019120B</itemNumber> <projectNumber>64111</projectNumber> </itemDetailSearchCriteria> </getItemDetailInfoList> </getItemDetailInfoRequest> </env:Body> </env:Envelope> When i load the page i get a blank screen nothing comes out from $response, I have no idea if i am close to making this work or if i am super far off with this. Using the above code i am able to make a public weather SOAP Web Service work which makes me think i am close. Any help would be appreciated!
-
I'm trying to use an API to submit a form and I'm not sure what I'm supposed to do with the ProcessName. This is the error I'm getting: 90028910falseInvalid Process Name0 <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://api.securecrmsite.com/"> <SOAP-ENV:Body> <ns1:Process> <ns1:Credentials> <ns1:CompanyKey>xxxx</ns1:CompanyKey> <ns1:APIKey>xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ns1:APIKey> </ns1:Credentials> </ns1:Process> <param1> <item> <key>ProcessName</key> <value>CompanyInsert</value> </item> <item> <key>FirstName</key> <value>From</value> </item> <item> <key>LastName</key> <value>API</value> </item> </param1> </SOAP-ENV:Body> </SOAP-ENV:Envelope> And this is the code I have: $compKey = 'xxxx'; $apiKey = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'; $soapURL = "https://www.securecrmsite.com/Modules/System/API.asmx?wsdl"; $soapCredentials = array('Credentials'=>array('CompanyKey' => $compKey, 'APIKey' => $apiKey)); $soapFunctionParameters = array('ProcessName' => "CompanyInsert", 'FirstName' => "From", 'LastName' => "API"); $client = new SoapClient($soapURL, array('trace' => true)); $client->Process($soapCredentials, $soapFunctionParameters); echo $client->__getLastResponse(); If anyone has any ideas, they'd be greatly appreciated! I don't have much experience working with APIs. Thanks.
-
How can we consume the WCF SSL Service in PHP client ?
hemantwithu posted a topic in PHP Coding Help
Hello All, I have developed a WCF service with htttps enabled.I have tested in .NET environment by creating a .NET windows client and consumed the service.I want to consume the same service php.I am new to php.I have written the below code <?php class WsseAuthHeader extends SoapHeader { private $wss_ns = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'; function __construct($user, $pass, $ns = null) { if ($ns) { $this->wss_ns = $ns; } $auth = new stdClass(); $auth->Username = new SoapVar($user, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns); $auth->Password = new SoapVar($pass, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns); $username_token = new stdClass(); $username_token->UsernameToken = new SoapVar($auth, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns); $security_sv = new SoapVar( new SoapVar($username_token, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns), SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'Security', $this->wss_ns); parent::__construct($this->wss_ns, 'Security', $security_sv, true); } } $my_cert_file=".../wamp/mycert.pem"; $options = array('soap_version' => SOAP_1_2, 'exceptions' => TRUE, 'trace' => TRUE, 'wdsl_local_copy' => TRUE, 'style' => SOAP_DOCUMENT, 'use' => SOAP_AUTHENTICATION_DIGEST, 'encoding' => SOAP_ENCODED, 'cache_wsdl' => WSDL_CACHE_NONE, 'local_cert' => $my_cert_file); $username = "TestUser"; $password = "second"; $wsse_header = new WsseAuthHeader($username, $password); $client = new SoapClient('https://192.168.0.120/TravelPlanService.svc?wsdl',$options); $client->__setSoapHeaders(array($wsse_header)); try { $phpresponse= $client->Authenticate(); // print $phpresponse->GetResult->Version; echo (bool)$phpresponse->AuthenticateResult; echo "</b><BR/><BR/>"; } catch(Exception $e) { echo "<h2>Exception Error!</h2></b>"; echo $e->getMessage(); } ?> I have created a self signed certificate through online. Please provide me the solution to consume the HTTPS service in PHP . -
Hi PHPFreaks =), I'm in need of some guidance. Is it possible and safe to open a SOAP Connection every 10-15 minutes? Thanks, Hal
- 11 replies
-
- soap
- connection
-
(and 1 more)
Tagged with:
-
I'm new to soap and webservices , and wanting to know do I have to use soap with a wsdl file, or can I use something else like json?
-
I would like to open a SOAP connection that reflects changes to another database onlywhen the following forms has been submitted(Register & Update profile forms) through WordPress. I am able to get the connection working using a try/catch block statement but it seems like the connection are always present so it's slowing the site down alot and it's not safe. Does anyone know how to check when an user submits a form? All I could think of is using this code: if($_SERVER['REQUEST_METHOD'] == "POST") and doing something like this: if($_SERVER['REQUEST_METHOD'] == "POST"){ try{ //import soap class // connect to another DB // Do more stuff here... } catch(exception $e){ // errror } }
-
Hi Fellows, I am new to SOAP or any webservices technology, but i have a project to connect an online travel agent (OTA) website to Channel Manager called Siteminder, and here is their docs https://siteminder.atlassian.net/wiki/display/SITECONNECT/Retrieve+Rooms But unfortunately i don’t even understand what is this, how can i create a SOAP server in CI which able to produce this xml below ( precisely as written in this docs ) <OTA HotelAvailRQ Versi TimeStamp=“2005-08-01T09:30:47+02:00” EchoToken=“fb57388d” AvailRates> <AvailRequestSegments> <AvailRequestSegment AvailReqType=“Room”> <HotelSearchCriteria> <Criterion> <HotelRef HotelCode=“HOTEL1”> </Criterion> </HotelSearchCriteria> </AvailRequestSegment> </AvailRequestSegments> </OTA_HotelAvailRQ> and this xml as the response of previous xml (if it submitted) <OTA HotelAvailRS Versi TimeStamp=“2005-08-01T09:30:47+02:00” EchoToken=“abc123”> <Success> <RoomStays> <RoomStay> <RoomTypes> <RoomType RoomTypeCode=“SGL”> <RoomDescription Name=“Single Room”> </RoomType> </RoomTypes> </RoomStay> <RoomStay> <RoomTypes> <RoomType RoomTypeCode=“DBX”> <RoomDescription Name=“Deluxe Double Room”> </RoomType> </RoomTypes> </RoomStay> <RoomStay> <RoomTypes> <RoomType RoomTypeCode=“DBL”> <RoomDescription Name=“Standard Double Room”> </RoomType> </RoomTypes> </RoomStay> </RoomStays> </OTA_HotelAvailRS> please kinly help me, and many thanks in advance…
-
Hoping someone here is a SOAP genius....I'm not. Using the following script: <?php error_reporting(E_ALL); ini_set('display_errors', '1'); $client = new SoapClient("https://blahblahblah.com/soap/20110301/wsdl/ApiRetailerSearch.wsdl", array('trace' => 1)); $objAuth = new stdClass(); $objAuth->username = 'xxxxxxxxx'; $objAuth->password = 'xxxxxxxxxx'; $objRequest = new stdClass(); $objRequest->authentication = $objAuth; $objRequest->retailer_id = 'xxxxxxxx'; $objRequest->products = array(xxxxxxx); $objRequest->items = array(); $objRequest->watchlists = array(); $response = $client->getProductDetail($objRequest); if(false == is_soap_fault($response)){ foreach($response as $product) { foreach ($product->items as $item) { print "price: " . $item->price . "\n\n"; } } print_r($response); }else{ echo "error code: " . $response->faultstring . "<br>"; echo "error message: " . $response->detail . "<br>"; } ?> Get the following error: Fatal error: Uncaught SoapFault exception: [2011] Permission denied. in /home/aonewebs/public_html/doba.php:16 Stack trace: #0 /home/aonewebs/public_html/doba.php(16): SoapClient->__call('getProductDetai...', Array) #1 /home/aonewebs/public_html/doba.php(16): SoapClient->getProductDetail(Object(stdClass)) #2 {main} thrown in /home/aonewebs/public_html/doba.php on line 16 Any ideas? Ron
-
Dear All I have Centos 6.4 Final running on a (Linux certified) HP PC. I'm writing a small EPOS app in PHP and need to access various Magento SOAP methods. When I installed php (via yum) I did not know I needed SOAP. So i used yum install php-soap at a later date. After which I did yum update. Looking at the phpinfo() output Link http://www.prendas.co.uk/images/download/phpinfo.pdf SOAP appears to be working. However I get "SOAP extension is not loaded." in my PHP code when I try and load it. Can anybody pls help? Thanks Andy
-
I am using some PHP API script to send a text message and in the <message> tags I want to get 2 values from the url (e.g. (URL address blocked: See forum rules)/sms.php?Name=John&Age=28). Problem is this that in between the php script there is a script of SOAP (I think). Sorry I am not good at programming. <?php set_time_limit(0); //URL to call define('ZONG_DOMAIN_URL', "(URL address blocked: See forum rules)"); $post_data='<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="(URL address blocked: See forum rules)" xmlns:xsd="(URL address blocked: See forum rules)" xmlns:soap12="(URL address blocked: See forum rules)"> <soap12:Body> <SendSMS xmlns="(URL address blocked: See forum rules)/"> <Src_nbr>9145216598</Src_nbr> <Password>123</Password> <Dst_nbr>913115383168</Dst_nbr> <Mask>STAFF</Mask> <Message>Test Message from API</Message> <TransactionID>'.rand().'</TransactionID> </SendSMS> </soap12:Body> </soap12:Envelope>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, ZONG_DOMAIN_URL ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_POST, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data ); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/soap+xml', 'charset=utf-8')); echo $result = curl_exec ($ch); ?>
-
I did some searching on this issue and all the solutions that seemed to be similar did not work for my problem. Anyways, I need to make a SOAP call with a sequence in it, yet soapClient doesn't seem to be converting my object into the correct soap call (it is leaving out the sequence). Below is the part of the wsdl that I cant seem to get, along with the object that I am sending, and lastly the request that soapClient is translating my object into. Any help would be much appreciated. wsdl: <xs:element minOccurs="0" name="option.list"> <xs:complexType> <xs:complexContent> <xs:extension base="cmn:ArrayType"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="option.list"> <xs:complexType> <xs:complexContent> <xs:extension base="cmn:StructureType"> <xs:sequence> <xs:element minOccurs="0" name="SubItemId" nillable="true" type="cmn:DecimalType"/> <xs:element minOccurs="0" name="SubOptions" nillable="true" type="cmn:StringType"/> <xs:element minOccurs="0" name="SubItemName" nillable="true" type="cmn:StringType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> my object: [option.list] => Array ( [0] => Array ( [option.list] => Array ( [SubItemId] => 0 [SubOptions] => <?xml version="1.0" encoding="UTF-8" standalone="yes"?><form><select id="DBMS" label="DBMS type:" style="combo">MS SQL<option label="" /><option id="0" label="DB2">DB2</option><option id="1" label="IMS">IMS</option><option id="2" label="MS SQL">MS SQL</option><option id="3" label="Oracle">Oracle</option><option id="4" label="UDB">UDB</option></select><select id="Type" label="lation Type:" style="combo">Add New Instance<option label="" /><option id="0" label="Add New Environment">Add New Environment</option><option id="1" label="Add New Instance">Add New Instance</option><option id="2" label="Add New Database">Add New Database</option><option id="3" label="Modify Environment">Modify Environment</option><option id="4" label="Modify Instance">Modify Instance</option><option id="5" label="Modify Database">Modify Database</option><option id="6" label="Retire Environment">Retire Environment</option><option id="7" label="Retire Instance">Retire Instance</option><option id="8" label="Retire Database">Retire Database</option></select><select id="Complexity" label="xity:" style="combo">Complex [+$2500.00]<option label="" /><option id="0" label="Simple [+$500.00]">Simple [+$500.00]</option><option id="1" label="Medium [+$1000.00]">Medium [+$1000.00]</option><option id="2" label="Complex [+$2500.00]">Complex [+$2500.00]</option></select><select id="RecoveryTier" label="rability Tier:" style="combo">Tier 2<option label="" /><option id="0" label="Tier 1">Tier 1</option><option id="1" label="Tier 2">Tier 2</option><option id="2" label="Tier 3">Tier 3</option></select><select id="Backup" label=" Backup Required?" style="combo">Yes<option label="" /><option id="0" label="Yes">Yes</option><option id="1" label="No">No</option></select><select id="Replication" label=" tables require replication?" style="combo">UDB Dprop<option label="" /><option id="0" label="UDB Dprop">UDB Dprop</option><option id="1" label="Goldengate">Goldengate</option><option id="2" label="ASM">ASM</option><option id="3" label="No">No</option></select></form> [SubItemName] => DB Modification ) ) ) generated request: <ns1:option.list><ns1:option.list/></ns1:option.list>
- 3 replies
-
- soap
- soapclient
-
(and 2 more)
Tagged with:
-
I have to following soap resquest .... ( i have changed the credentials because of the security reasons ) <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bau="http://www.babalumra.com/BAU"> <soapenv:Header/> <soapenv:Body> <bau:Authenticate> <!--Optional:--> <bau:username>zawora</bau:username> <!--Optional:--> <bau:password>a12345#</bau:password> <!--Optional:--> <bau:version>1.1.0.0</bau:version> <bau:uoCode>10</bau:uoCode> </bau:Authenticate> </soapenv:Body> </soapenv:Envelope> I am uising the Authenticate Method of the service. the response is as follows . <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <OfflineHeader xmlns="http://www.babalumra.com/BAU"> <UO>10</UO> <Ticket>C7F02767212D85CE76385F0D4BB7A840371DD08C491F9D56FED7E4FB1ADFA8016E1750B341DB7B96CCB41D496117790C832CD2BC4D40A</Ticket> <UserIP>188.55.105.132</UserIP> <UserVer>1.1.0.0</UserVer> <UserId>100</UserId> </OfflineHeader> </soap:Header> <soap:Body> <AuthenticateResponse xmlns="http://www.babalumra.com/BAU"> <AuthenticateResult><Result Value="True"/></AuthenticateResult> </AuthenticateResponse> </soap:Body> </soap:Envelope> now the problem is that that in order to use other methods of the services i have to provide returned information from <soapenv:Header> in every other method's <soapenv:Header> here is another request which requires the returened information ( authentication details ) in <soapenv:Header> . <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bau="http://www.babalumra.com/BAU" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <soapenv:Header> <bau:OfflineHeader> <bau:UO>?</bau:UO> <!--Optional:--> <bau:Ticket>?</bau:Ticket> <!--Optional:--> <bau:UserIP>?</bau:UserIP> <!--Optional:--> <bau:UserVer>?</bau:UserVer> <bau:UserId>?</bau:UserId> </bau:OfflineHeader> </soapenv:Header> <soapenv:Body> <bau:GetArrivalDepartueData> <bau:MofaNo>?</bau:MofaNo> <bau:lang>?</bau:lang> <!--Optional:--> <bau:ds> <xs:schema> <!--Ignoring type [{http://www.w3.org/2001/XMLSchema}schema]--> </xs:schema> <!--You may enter ANY elements at this point--> </bau:ds> </bau:GetArrivalDepartueData> </soapenv:Body> </soapenv:Envelope> ----------------------------------------------------- my question is that is there any way that i can embed returend authuntecation information in my request headers (<soapenv:Header>)
- 1 reply
-
- soap
- soapclient
-
(and 1 more)
Tagged with:
-
Hi, I can send SoapVar from my client to my server and from my server to my client - it works ok. The SOAP requests and responses seem to be ok. Everything is ok, until i try make it more "dynamic". How can I access to "Identifier" and "Status" ? Below is the code for client and server. Thanks for your time! <?php header('Content-type: application/xml'); try{ $sClient = new SoapClient('mywsdl.wsdl', array('trace'=>1)); $Identifier = "123456"; $Status = "Hey, how are you today?"; $part_request = array(); $part_request[] = new SoapVar($Identifier,XSD_STRING,NULL,NULL,"Identifier"); $part_request[] = new SoapVar($Status,XSD_STRING,NULL,NULL,"Status"); $request = new SoapVar($part_request, SOAP_ENC_OBJECT, NULL, NULL,"RegisterRequest"); $response = $sClient->Register($request); print_r ($sClient->__getLastRequest()); print_r ($sClient->__getLastResponse()); } catch(SoapFault $e){ var_dump($e); } ?> <?php //ini_set("soap.wsdl_cache_enabled","0"); $server = new SoapServer("wsdl.wsdl"); function Register($request) { /* How to access to "Identifier and Status?" $request->Identifier or $request->RegisterRequest->Identifier dont work ;/ */ /* BELOW THIS EVERYTHING WORKS, but it's static */ $ResponseId = "1234"; $Status = "Fine"; $part_response = array(); $part_response[] = new SoapVar($ResponseId,XSD_STRING,NULL,NULL,"ResponseId"); $part_response[] = new SoapVar($Status,XSD_STRING,NULL,NULL,"Status"); $response = new SoapVar($part_response,SOAP_ENC_OBJECT,NULL,NULL,"RegistrationResponse"); return $response; } $server->AddFunction("Register"); $server->handle(); ?>
-
I am attempting to implement an API on my website using WSDL through SOAP. My hosting company (fatcow) does not support PHP SOAP. They do however support PEAR SOAP 0.9.1. I have continuosly ran into the error: Server was unable to process request. --- Object reference not set to an instance of an object. I believe I am possibly forming the XML SOAP request incorrectly. The getLastRequest() method is not returning anything for debugging. The var_dump() method is returning an enormous amount of information. I am looking for some guidance in debugging this SOAP call. I have included my php code below with the resulting XML SOAP request found in my var_dump. <?php require_once 'SOAP/Client.php'; $WSDL=new SOAP_WSDL('https://api.mindbodyonline.com/0_5/SiteService.asmx?wsdl',array(trace=>1)); $proxy=$WSDL->getProxy(); $options=array('soapaction' => 'http://clients.mindbodyonline.com/api/0_5/GetLocations'); $params = array('Request'=>array('SourceCredentials' => array('SourceName'=>'StudioSevaYoga','Password'=>'*************','siteIDs'=>array('int'=>'23661')),'XMLDetail'=>'Full','PageSize'=>'10','CurrentPageIndex'=>'0')); $ret = $proxy->call("GetLocations",$params,$options); var_dump($ret); ?> POST /0_5/SiteService.asmx HTTP/1.0 User-Agent: PEAR-SOAP @version@-beta Host: api.mindbodyonline.com Content-Type: text/xml; charset=UTF-8 Content-Length: 862 SOAPAction: "http://clients.mindbodyonline.com/api/0_5/GetLocations" Connection: close <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <GetLocations> <Request> <SourceCredentials> <SourceName xsi:type="xsd:string">StudioSevaYoga</SourceName> <Password xsi:type="xsd:string">********************</Password> <siteIDs> <int xsi:type="xsd:string">23661</int></siteIDs></SourceCredentials> <XMLDetail xsi:type="xsd:string">Full</XMLDetail> <PageSize xsi:type="xsd:string">10</PageSize> <CurrentPageIndex xsi:type="xsd:string">0</CurrentPageIndex></Request></GetLocations> </SOAP-ENV:Body> </SOAP-ENV:Envelope> WSDL: https://api.mindbodyonline.com/0_5/SiteService.asmx?wsdl My php page throwing error: http://studio-seva.com/pearSoap5.php Any help would be greatly appreciated.
-
I am trying to build a SOAP call in php which should make a request to a c#/asp.net based API. The request is in the format of an XML. *XML contains Arabic Characters. If the XML contains only English Characters everything works fine. I also tried to hit the Webservice endpoint via a SOAPUI with Arabic characters and it works fine.So it confirms that the system accepts Soap calls with Arabic Characters. The code I use to hit the EndPoint is shown below. $soapvar = new SoapVar($retrieveXYZRequest, XSD_ANYXML); $this->client->__soapCall('RetrieveXYZ',array($soapvar)); $retrieveXYZRequest is the SOAP Request built in the form of Text(with Arabic characters in certain elements). RetrieveXYZ is the method name that should be called. Any kind of input will be much appreciated.
-
- soap
- arabic characters
-
(and 1 more)
Tagged with:
-
Hello fellow programmers, I'm having problem with passing soap request this xml schema is the SOAP request I must pass to the server : http://pastebin.com/1PjXzVLm I use this code http://pastebin.com/tgspY7rg but I don't seem to succeed, any help is appreciated
-
Recently i have started Flight portal website. In that for displaying the details of flight like availability, cancellation , fare , etc.. i am sending a SOAP XML request in php the code is as below <?php $xml_data="<arzHotelAvailReq><clientInfo> <username>UdooInXML</username> <userType>ArzooHWS1.1</userType> <userID>77743543</userID> <password>*CB8</password> <partnerID>1002</partnerID> </clientInfo> <requestSegment> <currency>INR</currency> <searchType>search</searchType> <residentOfIndia>true</residentOfIndia> <stayDateRange> <start>22/03/2013</start> <end>23/03/2013</end> </stayDateRange> <roomStayCandidate> <guestDetails> <adults>1</adults> <child> <age>3</age> <age>5</age> </child> </guestDetails> <guestDetails> <adults>2</adults> <child> <age>2</age> </child> </guestDetails> </roomStayCandidate> <hotelSearchCriteria> <hotelCityName>BANGALORE</hotelCityName> <hotelName></hotelName> <area></area> <attraction></attraction> <rating></rating> <sortingPreference>1 </sortingPreference> <hotelPackage>Y</hotelPackage></hotelSearchCriteria></requestSegment></arzHotelAvailReq> "; Here the soap client request code comes. and i am getting the response. Everything is fine upto here. But i am getting the response in a irregular text format like as below. 100200 INR search 22/03/2013 23/03/2013 1 3 5 2 2 BANGALORE 1 Y true 00005380 Veekay Tourist Home Overlooking the beautiful park, this homely abode is close to the ISKON Temple. Across three floors are 80 AC and non-AC rooms, which are maintained with room service. Guests can experience the essence of the city with a tour, which is organized by the home on demand. There is free parking facility provided to the guests to park their vehicles. 1 2 400 033 arzooB 91/1, Railway Parallel Road Yeshwantpur NA Overlooking the beautiful park, this homely abode is close to the ISKON Temple. Across three floors are 80 AC and non-AC rooms, which are maintained with room service. Guests can experience the essence of the city with a tour, which is organized by the home on demand. There is free parking facility provided to the guests to park their vehicles. NA NA NA NA 00:00 12:00 All NA NA Air_Conditioning,Restaurant,Conference_Hall,Health_Club,Travel_Desk,Transfers,Forex,Shopping,Swimming,Banquet,Business_Center NA cdn.travelpartnerweb.com/DesiyaImages/Image/1/nxd/maw/ryj/lbn/HO_TN.jpg N N Non AC Room No Amenities 0000019527 0000068265 11111111 +yWrLQerwfpRqCOBdo4d4Q+fTZgh1nupLJ4p4u6ke0DnoKrM1YnV+CyeKeLupHtAek/xho0eiejEOsNqkniCrj61Dp4lgPVpxhyWcxAZvAY6eaST9cxEwO77vKeHzGt7xDrDapJ4gq4OONbvuHIwesuQNW1tG3pMLXm9B6RXzcuVQyNiR9Nkmc5UwHnlMe/3R4pOa9nZpzWvpc4Pgi4QldI0kqzTn0R2SrrkswfU4tEe+FrLnNX0ikMr6KYsRwZ5weOUbgjswoE6Gc2xDYzFhoJPdnFEgTGV53WGRs0ArO3XjoptM/3++Ebal1NQKw41+CLkev7bTS2uy9dZCeYpxW/ouG38h9xmYh+h8WdKEfuf5HK8TIYqr3cMt7sdhfmbFluz6IhIkl5gGOFLUgob5fJgMkJc5m29X6/0s/8xt7Kj8slKZijCITtF+SlZboPr 84 751 0 0.0 0 N N AC Double No Amenities 0000019528 0000068266 11111111 MqJjfxbuxrY6eaST9cxEwDETzbfNeAOGmk9s1Uz6PbYSZIViwgQiY5pPbNVM+j22FHM8WEydgwBkOaDlTL6ZjC9zLGtHv0ypOnmkk/XMRMAPn02YIdZ7qUC2Sm/k4OAAweOUbgjswoF0RTNIMdh6k+Ld9K5fVWUdDznXXQXDz4XzARG+d1YhoTBLNxtfNxqmAcSIgU/v1x3EOsNqkniCrr6b1Ug4ytFJZ/0FayiZJBkPeiwpn9EJwEbIPnPEbTR4lWhM0grn0WLZ56unmN2SYl3cbsmEPmwq2OuHVC1F8Hu84Nfh1MF/h4/ba1HimMaE+uDhm6Ks2qonJVGPUcpVXdQrEjcaz9CVv8aChDAx1MrEOsNqkniCrtPU6ffG6Zo+VJRf6bY5MD9Jpvu9wmltGrCdLm1c957TFF2epIoxL54OaXRTmdyfd1yCAU1C72cA 0 1684 60 0.0 0 00005020 U.G.DELUXE Located near to the Srinivasa Nursing Home, this brand new smoke-free property on the block is maintained with 42 deluxe rooms, which includes A/C and non-A/C accommodations. There are three dining outlets, namely Malabar Vegetarian Restaurant, Krishna Bhavan, and Sukh Sagar, which are all open for service from 6a.m to 10p.m. The property is designed with a garden area, where guests can lounge. They can also avail the assistance of the travel desk and take a tour of the beautiful city. 0 2 550 061 arzooB #9/1, 2nd Cross,Thulasithotam Balepet Near Srinivasa Nursing Home NA Located near to the Srinivasa Nursing Home, this brand new smoke-free property on the block is maintained with 42 deluxe rooms, which includes A/C and non-A/C accommodations. There are three dining outlets, namely Malabar Vegetarian Restaurant, Krishna Bhavan, and Sukh Sagar, which are all open for service from 6a.m to 10p.m. The property is designed with a garden area, where guests can lounge. They can also avail the assistance of the travel desk and take a tour of the beautiful city. NA NA NA NA 00:00 12:00 All NA NA Air_Conditioning,Restaurant,Conference_Hall,Health_Club,Travel_Desk,Transfers,Forex,Shopping,Swimming,Banquet,Business_Center NA cdn.travelpartnerweb.com/DesiyaImages/Image/1/nxd/maw/rym/fbn/HO_TN.jpg N N Double Deluxe Non AC No Amenities 0000018167 0000058501 11111111 6rHbdJ5eYI7GHJZzEBm8BvOaNWWi+RUhLJ4p4u6ke0DPzHJ7gHRp3iyeKeLupHtAhduj3Vq+cinEOsNqkniCrj61Dp4lgPVpxhyWcxAZvAY6eaST9cxEwO77vKeHzGt7xDrDapJ4gq4OONbvuHIwepH1wYi4aVVmDxAoeeQIBeo7G/tKB6tJOYDfWwbV0F7ASAS/psz+s/vtFOZDhaz6EtGf96t/LsuWxw1Qqnbhmf3XYWyQ7VUjC8Q6w2qSeIKuoKFs0O+FVtNhRIfAcxLjf86bGU9wLBRNvD/Qlqcc//JzmIzIGoODhM1oJoq2rZMN1gD5nlU38lH0iT7gaoTgQlkLlahFGUKDXPHozEiWFpzUKxI3Gs/Qlb/GgoQwMdTKxDrDapJ4gq7T1On3xumaPlSUX+m2OTA/Sab7vcJpbRqwnS5tXPee0xRdnqSKMS+eDml0U5ncn3eFGMF7Jssn/w== 0 966 44 0.0 0 N N Double Deluxe AC No Amenities 0000018168 0000058502 11111111 sSCoszzZkH86eaST9cxEwDETzbfNeAOGmk9s1Uz6PbZGv/SG567OsZpPbNVM+j22DfbGKTDMXKFkOaDlTL6ZjC9zLGtHv0ypOnmkk/XMRMAPn02YIdZ7qUC2Sm/k4OAAweOUbgjswoF0RTNIMdh6kznLtLUAmNXdxBAFTfOqI33OVMB55THv90eKTmvZ2ac1r6XOD4IuEJXSNJKs059Edkq65LMH1OLRxhyWcxAZvAZDK+imLEcGecHjlG4I7MKBOhnNsQ2MxYZ+oLyPTZ3RMaAnkAotaRPKKfHYXniQp/S8zzpKPZaLArk7+CKaeLo9hOB8fqTxssT128imfeXuC/OgEXYIgsG2UHFvTjsO+sCf5HK8TIYqr+4vK3ryvrJwFluz6IhIkl4/hAHmlwnis6hroDhh/C42mx8+gs3lzQiWJgzCcdsB9fCEqLc7/4v1LJ4p4u6ke0CUdoTzsl6ZtBfc5EobFJGF 0 1318 60 0.0 0 00004788 U.G.ROYAL Strategically located near to the railway station by 2kms, this smoke-free property is designed with 3floors with an elevator, and maintained with 24 rooms to reside in. The property is also maintained with a garden space and a travel counter for all travel assistance. A vegetarian fare can be savoured in the nearby Sukh Sagar Restaurant and non-vegetarian fare can be relished in any of the neighboring dining outlets, namely New Grand and Hyderabad. 0 2 650 062 arzooB # 42, Cottonpet Main Road NA Strategically located near to the railway station by 2kms, this smoke-free property is designed with 3floors with an elevator, and maintained with 24 rooms to reside in. The property is also maintained with a garden space and a travel counter for all travel assistance. A vegetarian fare can be savoured in the nearby Sukh Sagar Restaurant and non-vegetarian fare can be relished in any of the neighboring dining outlets, namely New Grand and Hyderabad. NA NA NA NA 00:00 12:00 All NA NA Air_Conditioning,Restaurant,Conference_Hall,Health_Club,Travel_Desk,Transfers,Forex,Shopping,Swimming,Banquet,Business_Center NA cdn.travelpartnerweb.com/DesiyaImages/Image/1/nxd/maw/syf/lbv/HO_TN.jpg N N Double Deluxe Non AC No Amenities 0000017219 0000054610 11111111 oHS5Xd5Exyg6eaST9cxEwGZSjnNN3mhmmk9s1Uz6PbaNc1sEsAf/6JpPbNVM+j22if6NKX9Uk13Dy1lDA4noii9zLGtHv0ypOnmkk/XMRMAPn02YIdZ7qUC2Sm/k4OAAweOUbgjswoF0RTNIMdh6kznLtLUAmNXdU8J0wP+0TP07G/tKB6tJOYDfWwbV0F7ASAS/psz+s/vtFOZDhaz6EtGf96t/LsuWxw1Qqnbhmf3XYWyQ7VUjC8Q6w2qSeIKuoKFs0O+FVtN4j8rH+f6mNO5qfq4xpPlORexVeZq9N0yqKIuRorLprNQrEjcaz9CVv8aChDAx1MrEOsNqkniCrtPU6ffG6Zo+VJRf6bY5MD9Jpvu9wmltGrCdLm1c957TFF2epIoxL54OaXRTmdyfd0BBbtk2xLpA 0 1142 52 0.0 0 N N Deluxe Double AC No Amenities 0000017221 0000054612 11111111 TxbgXP3Nk6o6eaST9cxEwO0QCFlSnc8Cmk9s1Uz6PbaNc1sEsAf/6JpPbNVM+j22fMzm237c+vR3p+iuYvo+Ai9zLGtHv0ypOnmkk/XMRMAPn02YIdZ7qUC2Sm/k4OAAweOUbgjswoF0RTNIMdh6kznLtLUAmNXdU8J0wP+0TP07G/tKB6tJOYDfWwbV0F7ASAS/psz+s/vtFOZDhaz6EtGf96t/LsuWxw1Qqnbhmf3XYWyQ7VUjC8Q6w2qSeIKuoKFs0O+FVtN4j8rH+f6mNO5qfq4xpPlORexVeZq9N0yqKIuRorLprNQrEjcaz9CVv8aChDAx1MrEOsNqkniCrtPU6ffG6Zo+VJRf6bY5MD9Jpvu9wmltGrCdLm1c957TFF2epIoxL54OaXRTmdyfd4cJw1cUhwyo 0 1580 72 0.0 0 00004786 U.G.GRAND A large photo frame of Lord Venkatesh at the lobby welcomes guests to a comfortable stay in this four floors hotel located in the NP Lane. There are 16 rooms facilitated with 24hours room service. A vegetarian fare can be relished at the Krishna Sagar Delhi Restaurant, which is open for service from 6a.m. to 10a.m., and non-vegetarian fare can be savoured in the Hyderabad Biryani Restaurant, which can be visited between 10a.m. to 11p.m. There is free valet parking facility also available in this hotel. 0 2 650 108 arzooB NO.10,N.P. LANE,COTTON PET BEHIND SHANTALA SILKS So here i want to arrange that response in a designed format. How can i do that. Please give me your valuable suggestions. Thanks in advance, Sree ram
-
Hi Am getting the below error on this line of code Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request. ---> Object reference not set to an instance of an object. in /var/www/vhosts/extraspel.com/subdomains/en.qa/httpdocs/services/websiteheaderprovider.php:6 Stack trace: #0 [internal function]: SoapClient->__call('GetPlatformByUs...', Array) #1websiteheaderprovider.php(6): SoapClient->GetPlatformByUserAgent(Array) #2 {main} thrown in websiteheaderprovider.php on line 6 $result = ($client->GetPlatformByUserAgent($params)); Any ideas?
-
Dear Gurus, I need to write an application that can send and receive SOAP messages, following a WSDL specification supplied by a third party. I am a bit stuck of how to exactly follow it and remain functional. Here is a snippet from the WSDL: 01: <s:element name="SubscriptionRequestContainer"> 02: <s:complexType> 03: <s:sequence> 04: <s:element minOccurs="1" maxOccurs="1" name="SubscriptionRequest" type="tns:SubscriptionRequestItemCollection"> 05: <s:unique name="uniqueUnitId"> 06: <s:selector xpath="Add|Renew|Delete"/> 07: <s:field xpath="@UnitId"/> 08: </s:unique> 09: </s:element> 10: </s:sequence> 11: </s:complexType> 12: </s:element> 13: 14: <s:complexType name="SubscriptionRequestItemCollection"> 15: <s:sequence> 16: <s:element minOccurs="0" maxOccurs="unbounded" name="Add" type="tns:SubscriptionRequestAddItem" /> 17: <s:element minOccurs="0" maxOccurs="unbounded" name="Renew" type="tns:SubscriptionRequestRenewItem" /> 18: <s:element minOccurs="0" maxOccurs="unbounded" name="Delete" type="tns:SubscriptionRequestDeleteItem" /> 19: </s:sequence> 20: </s:complexType> I must admit I am new to WSDL. That's why I do not fully understand what lines 05 - 08 mean. It must be some definition of how to make sure the names of sections at the same hierarchical level are unique in the resulting SOAP request, thus they can be accessed independently, by name. Can someone help me interpret this definition and explain what the names of the resulting SubscriptionRequest entries should be? Could they be Activate@001, Activate@099, Renew@012 - or how to properly interpret lines 05-08 above? Big-big thanks in advance, Tom
-
Hi, Just a quick question. Would I have to quote "False" when testing for the response condition here? if($SOAP_RESPONSE->DataName == False){ // do something } if($SOAP_RESPONSE->DataName == "False"){ // do something else } In the XML response: <DataName>False<DataName> I thought it should work without quotes. Cheers
-
Hi all, I've got this SOAP response: [ProcessApplicationDataResult] => <Response> <ApplicationDate>2/7/2013 10:16:36 AM</ApplicationDate> <IsApproved>False</IsApproved> <RedirectURL></RedirectURL> <Offer> <Amount></Amount> </Offer> </Response> How do I access the values? I've tried: $SOAP_RESPONSE->ProcessApplicationDataResult->ApplicationDate; $SOAP_RESPONSE->ApplicationDate; $SOAP_RESPONSE['ProcessApplicationDataResult']->ApplicationDate; This should be extremely easy to do. Thanks in advance, CaptainChainsaw