RE: Need help in creating a .NET compatible data type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



GUIDs were developed for use with COM/DCOM...the O'Reilly book explains them
quite well.  Unfortunately for you, my copy is at home and I am at the
office right now.

Mark

-----Original Message-----
From: Vincent A. Wixer [mailto:hrvinnie@yahoo.com]
Sent: Friday, April 23, 2004 10:27 AM
To: soap@lists.php.net; cewing@u.washington.edu
Subject: Re:  Need help in creating a .NET compatible data type


Christopher,

I tired searching the technet.microsoft.com site for the exeact GUID 
definition, but I still find it intractable even with google.

The best I found was 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/
frlrfsystemguidclasstopic.asp

A MS GUID is an attempt at coming up with a globally unique identifier 
based on the MAC address of your ethernet card, time, and something else.

"The GUID generation algorithm is based on a combination of time and 
space. When you ask CoCreateGuid to create a new GUID, it encodes the 
time of your request in the first part of the GUID and information that 
uniquely identifies your machine (the network card's MAC address, which 
is required to be unique by the standards that apply to network card)." 
- off a blog.

"A GUID is a 128-bit integer (16 bytes)" - from the site above.

The first format looks like a human readable HEX representatoin of this 
integer.

They're of the format of : Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8".

So, I think part of the question should be "In general, how can you 
create / fake a MS GUID.", and then "How can you create / fake a MS GUID 
in PHP."

Vincent

Cristopher Pierson Ewing wrote:
> Jacob, Thanks for the reply, Here's the script I'm using as well as the
> output back from it:
> 
> ********************
> Begin PHP script
> ********************
> <?php
> 
> require_once('SOAP/Client.php');
> 
> //Set the URL for the DW WSDL:
> $wsdlurl =
> 'https://digitalwell.washington.edu/feapi/frontendapi.asmx?wsdl';
> 
> //Create a SOAP WSDL object:
> $wsdl = new SOAP_WSDL($wsdlurl);
> //Create the local proxy to avoid having to re-parse WSDL on every call:
> $client = $wsdl->getProxy();
> 
> //Show us the client, so we are sure everythings okay so far
> echo $client.'<br>';
> 
> //Turn off SSL verification to bypass the cert problem with DW's CA Cert
> $client->setOpt('curl',CURLOPT_SSL_VERIFYPEER,0);
> $client->setOpt('curl',CURLOPT_SSL_VERIFYHOST,0);
> 
> //Set parameters for the query, using numbers from my data in DW
> $iRecordID = 1934;
> $iContainerCollectionID = 922;
> $iApplicationID = 13;
> $sInputClass = 'MediaGroup';
> $sAttributeList = "";
> //This variable is where I'm having trouble, should be a GUID (whatever
> //   that is!)
> //$xSessionID = NULL; //This is still a problem.  I'm unsure how to get a
proper
>                     //  guid from the info Zach's given me!
> $xSessionID = "00000000-0000-0000-0000-000000000000";
> 
> //Call the getInfo method using the above parameters:
> $response =
> $client->getInfo($iRecordID,$iContainerCollectionID,$iApplicationID,
>                              $sInputClass,$sAttributeList,$xSessionID);
> 
> //output the errors that result so I can be confused by them:
> if (PEAR::isError($response)) {
> 	echo 'message: '.$response->getMessage().'<br>';
> 	echo 'user info: '.$response->getUserInfo().'<br>';
> 	echo 'get wire'.$client->__get_wire().'<br>';
> } else {
> 	echo $response;
> }
> 
> ?>
> ********************
> End PHP Script
> ********************
> 
> 
> ********************
> Begin Script Output
> ********************
> Object
> message: XML error on line 1 col 4 byte 4 not well-formed
> user info: HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Thu, 22 Apr
> 2004 18:59:00 GMT X-Powered-By: ASP.NET X-AspNet-Version: 1.1.4322
> Cache-Control: private, max-age=0 Content-Type: text/xml; charset=utf-8
> Content-Length: 1780  <?xml version="1.0" encoding="utf-8"?><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:Body><GetInfoResponse
> xmlns="DigitalWellPronEndAPI"><GetInfoResult><xs:schema id="NewDataSet"
> xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema";
> xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"><xs:element
> name="NewDataSet" msdata:IsDataSet="true"><xs:complexType><xs:choice
> maxOccurs="unbounded"><xs:element
> name="Table"><xs:complexType><xs:sequence><xs:element name="RecordID"
> type="xs:int" minOccurs="0" /><xs:element name="Title" type="xs:string"
> minOccurs="0" /><xs:element name="Description" type="xs:string"
> minOccurs="0" /><xs:element name="ImagePath" type="xs:string"
> minOccurs="0" /><xs:element name="Contributor" type="xs:string"
> minOccurs="0" /><xs:element name="Rights" type="xs:string" minOccurs="0"
> /><xs:element name="RelatedMaterial" type="xs:string" minOccurs="0"
> /><xs:element name="Location" type="xs:string" minOccurs="0" /><xs:element
> name="Date" type="xs:string" minOccurs="0" /><xs:element name="Coverage"
> type="xs:string" minOccurs="0" /><xs:element name="Subject"
> type="xs:string" minOccurs="0"
>
/></xs:sequence></xs:complexType></xs:element></xs:choice></xs:complexType><
/xs:element></xs:schema><diffgr:diffgram
> xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
> xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"><NewDataSet
> xmlns=""><Table diffgr:id="Table1"
> msdata:rowOrder="0"><RecordID>-1</RecordID><Title /><Description
> /><ImagePath /><Contributor /><Rights /><RelatedMaterial /><Location
> /><Date /><Coverage /><Subject
>
/></Table></NewDataSet></diffgr:diffgram></GetInfoResult></GetInfoResponse><
/soap:Body></soap:Envelope>
> get wire
> ********************
> End Script output
> ********************
> 
> In case it would help, I've also attatched the two XML files that describe
> the GUID data type, according to my source at the above-mentioned web
> service.
> 
> If you or anyone else can help me figure out how to give the .NET SOAP
> server what it wants, I'll be a much happier coder!
> 
> Thanks,
> 
> Cris
> 
> ********************************
> Cris Ewing
> CME and Telehealth Web Services
> University of Washington
> School of Medicine
> Work Phone: (206) 685-9116
> Home Phone: (206) 365-3413
> E-mail: cewing@u.washington.edu
> *******************************
> 
> 
> 
> ------------------------------------------------------------------------
> 
> <?xml version="1.0"?>
> 
> <ContainsGuid xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> 
>   <myGuidProperty>00000000-0000-0000-0000-000000000000</myGuidProperty>
> 
>   <myLongProperty>314159</myLongProperty>
> 
>   <myIntProperty>278</myIntProperty>
> 
>   <myStringProperty>ha</myStringProperty>
> 
> </ContainsGuid>
> 
> 
> ------------------------------------------------------------------------
> 
> <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0";
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
> 
> <SOAP-ENV:Body>
> 
> <a1:createApplicationsXML_x002B_ContainsGuid id="ref-1"
xmlns:a1="http://schemas.microsoft.com/clr/nsassem/Test/serializeguidtofile%
2C%20Version%3D0.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull">
> 
> <myGuid>
> 
> <_a>0</_a>
> 
> <_b>0</_b>
> 
> <_c>0</_c>
> 
> <_d>0</_d>
> 
> <_e>0</_e>
> 
> <_f>0</_f>
> 
> <_g>0</_g>
> 
> <_h>0</_h>
> 
> <_i>0</_i>
> 
> <_j>0</_j>
> 
> <_k>0</_k>
> 
> </myGuid>
> 
> <myLong>314159</myLong>
> 
> <myInt>278</myInt>
> 
> <myString id="ref-3">ha</myString>
> 
> </a1:createApplicationsXML_x002B_ContainsGuid>
> 
> </SOAP-ENV:Body>
> 
> </SOAP-ENV:Envelope>
> 

-- 
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux