Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > ขอ Code ที่ทำให้ไฟล์ WSDL SOAP กับ PHP 2 ไฟล์ ให้ทำงานกันได้หน่อยครับ


[PHP] ขอ Code ที่ทำให้ไฟล์ WSDL SOAP กับ PHP 2 ไฟล์ ให้ทำงานกันได้หน่อยครับ

 
Topic : 114583



โพสกระทู้ ( 131 )
บทความ ( 14 )



สถานะออฟไลน์



ขอ Code ที่ทำให้ไฟล์ WSDL SOAP กับ PHP 2 ไฟล์ ให้ทำงานกันได้หน่อย เพราะผมไม่ค่อยเก่งในด้านเขียนโปรแกรมภาษา PHP+WSDL SOAP ซึ่งข้อมูลของผม เอามาจากที่ http://www.webservicex.net/ConvertTemperature.asmx?WSDL (ConvertTemperature.wsdl) กับ https://github.com/Goatella/PHPTemperatureConversion/blob/master/convert.php (convert.php) ครับ

โดยผมมีไฟล์ 2 ไฟล์ ที่อยากให้ไฟล์ WSDL SOAP กับ PHP 2 ไฟล์ ให้ทำงานกันได้ ดังนี้

1. ConvertTemperature.wsdl
Code (XML)
001.<?xml version="1.0" encoding="utf-8"?>
003.  <wsdl:types>
004.    <s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET/">
005.      <s:element name="ConvertTemp">
006.        <s:complexType>
007.          <s:sequence>
008.            <s:element minOccurs="1" maxOccurs="1" name="Temperature" type="s:double" />
009.            <s:element minOccurs="1" maxOccurs="1" name="FromUnit" type="tns:TemperatureUnit" />
010.            <s:element minOccurs="1" maxOccurs="1" name="ToUnit" type="tns:TemperatureUnit" />
011.          </s:sequence>
012.        </s:complexType>
013.      </s:element>
014.      <s:simpleType name="TemperatureUnit">
015.        <s:restriction base="s:string">
016.          <s:enumeration value="degreeCelsius" />
017.          <s:enumeration value="degreeFahrenheit" />
018.          <s:enumeration value="degreeRankine" />
019.          <s:enumeration value="degreeReaumur" />
020.          <s:enumeration value="kelvin" />
021.        </s:restriction>
022.      </s:simpleType>
023.      <s:element name="ConvertTempResponse">
024.        <s:complexType>
025.          <s:sequence>
026.            <s:element minOccurs="1" maxOccurs="1" name="ConvertTempResult" type="s:double" />
027.          </s:sequence>
028.        </s:complexType>
029.      </s:element>
030.      <s:element name="double" type="s:double" />
031.    </s:schema>
032.  </wsdl:types>
033.  <wsdl:message name="ConvertTempSoapIn">
034.    <wsdl:part name="parameters" element="tns:ConvertTemp" />
035.  </wsdl:message>
036.  <wsdl:message name="ConvertTempSoapOut">
037.    <wsdl:part name="parameters" element="tns:ConvertTempResponse" />
038.  </wsdl:message>
039.  <wsdl:message name="ConvertTempHttpGetIn">
040.    <wsdl:part name="Temperature" type="s:string" />
041.    <wsdl:part name="FromUnit" type="s:string" />
042.    <wsdl:part name="ToUnit" type="s:string" />
043.  </wsdl:message>
044.  <wsdl:message name="ConvertTempHttpGetOut">
045.    <wsdl:part name="Body" element="tns:double" />
046.  </wsdl:message>
047.  <wsdl:message name="ConvertTempHttpPostIn">
048.    <wsdl:part name="Temperature" type="s:string" />
049.    <wsdl:part name="FromUnit" type="s:string" />
050.    <wsdl:part name="ToUnit" type="s:string" />
051.  </wsdl:message>
052.  <wsdl:message name="ConvertTempHttpPostOut">
053.    <wsdl:part name="Body" element="tns:double" />
054.  </wsdl:message>
055.  <wsdl:portType name="ConvertTemperatureSoap">
056.    <wsdl:operation name="ConvertTemp">
057.      <wsdl:input message="tns:ConvertTempSoapIn" />
058.      <wsdl:output message="tns:ConvertTempSoapOut" />
059.    </wsdl:operation>
060.  </wsdl:portType>
061.  <wsdl:portType name="ConvertTemperatureHttpGet">
062.    <wsdl:operation name="ConvertTemp">
063.      <wsdl:input message="tns:ConvertTempHttpGetIn" />
064.      <wsdl:output message="tns:ConvertTempHttpGetOut" />
065.    </wsdl:operation>
066.  </wsdl:portType>
067.  <wsdl:portType name="ConvertTemperatureHttpPost">
068.    <wsdl:operation name="ConvertTemp">
069.      <wsdl:input message="tns:ConvertTempHttpPostIn" />
070.      <wsdl:output message="tns:ConvertTempHttpPostOut" />
071.    </wsdl:operation>
072.  </wsdl:portType>
073.  <wsdl:binding name="ConvertTemperatureSoap" type="tns:ConvertTemperatureSoap">
074.    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
075.    <wsdl:operation name="ConvertTemp">
076.      <soap:operation soapAction="http://www.webserviceX.NET/ConvertTemp" style="document" />
077.      <wsdl:input>
078.        <soap:body use="literal" />
079.      </wsdl:input>
080.      <wsdl:output>
081.        <soap:body use="literal" />
082.      </wsdl:output>
083.    </wsdl:operation>
084.  </wsdl:binding>
085.  <wsdl:binding name="ConvertTemperatureSoap12" type="tns:ConvertTemperatureSoap">
086.    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
087.    <wsdl:operation name="ConvertTemp">
088.      <soap12:operation soapAction="http://www.webserviceX.NET/ConvertTemp" style="document" />
089.      <wsdl:input>
090.        <soap12:body use="literal" />
091.      </wsdl:input>
092.      <wsdl:output>
093.        <soap12:body use="literal" />
094.      </wsdl:output>
095.    </wsdl:operation>
096.  </wsdl:binding>
097.  <wsdl:binding name="ConvertTemperatureHttpGet" type="tns:ConvertTemperatureHttpGet">
098.    <http:binding verb="GET" />
099.    <wsdl:operation name="ConvertTemp">
100.      <http:operation location="/ConvertTemp" />
101.      <wsdl:input>
102.        <http:urlEncoded />
103.      </wsdl:input>
104.      <wsdl:output>
105.        <mime:mimeXml part="Body" />
106.      </wsdl:output>
107.    </wsdl:operation>
108.  </wsdl:binding>
109.  <wsdl:binding name="ConvertTemperatureHttpPost" type="tns:ConvertTemperatureHttpPost">
110.    <http:binding verb="POST" />
111.    <wsdl:operation name="ConvertTemp">
112.      <http:operation location="/ConvertTemp" />
113.      <wsdl:input>
114.        <mime:content type="application/x-www-form-urlencoded" />
115.      </wsdl:input>
116.      <wsdl:output>
117.        <mime:mimeXml part="Body" />
118.      </wsdl:output>
119.    </wsdl:operation>
120.  </wsdl:binding>
121.  <wsdl:service name="ConvertTemperature">
122.    <wsdl:port name="ConvertTemperatureSoap" binding="tns:ConvertTemperatureSoap">
123.      <soap:address location="http://www.webservicex.net/ConvertTemperature.asmx" />
124.    </wsdl:port>
125.    <wsdl:port name="ConvertTemperatureSoap12" binding="tns:ConvertTemperatureSoap12">
126.      <soap12:address location="http://www.webservicex.net/ConvertTemperature.asmx" />
127.    </wsdl:port>
128.    <wsdl:port name="ConvertTemperatureHttpGet" binding="tns:ConvertTemperatureHttpGet">
129.      <http:address location="http://www.webservicex.net/ConvertTemperature.asmx" />
130.    </wsdl:port>
131.    <wsdl:port name="ConvertTemperatureHttpPost" binding="tns:ConvertTemperatureHttpPost">
132.      <http:address location="http://www.webservicex.net/ConvertTemperature.asmx" />
133.    </wsdl:port>
134.  </wsdl:service>
135.</wsdl:definitions>


2. convert.php
Code (PHP)
01.<head>
02. <title>Convert Temperature</title>
03. </head>
04. <body>
05. <h2>Temperature Conversion</h2>
06. <form action = "<?php echo $_SERVER['PHP_SELF']; ?>" method = "GET">
07. Degrees:
08. <input type = "text" name = "degree" size=4>
09. <select name="scale"> <option value="celcius">Celsius</option> <option value="fahrenheit">Fahrenheit</option> <option value="kelvin">Kelvin</option> <option value="rankine">Rankine</option> </select>
10. <br/>
11. <input type = "submit" name = "Convert Temperature"/>
12. </form>
13. 
14.<?php
15. 
16. //check for input
17. if (array_key_exists('degree',$_GET)){
18.    $scale = $_GET['scale'];
19.    $degree = $_GET['degree'];
20.    $firstLength = strlen($_GET['degree']);
21.     
22.    //check that input is not NULL or NaN
23.    if(($firstLength > 0) && (is_numeric($_GET['degree'])))
24.        {
25.        if ($scale == "celcius")
26.        {
27.             print "<table><tr><th> Conversion Results</th></tr><tr><td>$degree</td><td>celsius</td></tr>";
28.             $c_2_f = $degree*9/5+32;
29.             print "<tr><td>$c_2_f</td><td>fahrenheit</td></tr>";
30.             $c_2_k = $degree+273.15;
31.             print "<tr><td>$c_2_k </td><td>kelvin</td></tr>";
32.             $c_2_r = $c_2_f+459.6;
33.             print "<tr><td>$c_2_r</td><td>rankine</td></tr></table>";}
34. 
35.        if ($scale == "fahrenheit")
36.        {
37.             print "<table border><tr><th colspan=2> Conversion Results</th></tr><tr><td>$degree</td><td>farhenheit</td></tr>";
38.             $f_2_c = ($degree -32)*5/9;
39.             print "<tr><td>$f_2_c</td><td>celsius</td></tr>";
40.             $f_2_k = $f_2_c+273.15;
41.             print "<tr><td>$f_2_k </td><td>kelvin</td></tr>";
42.             $f_2_r = $degree+459.6;
43.             print "<tr><td>$f_2_r</td><td>rankine</td></tr></table>";
44.        }
45.          
46.         if ($scale == "kelvin")
47.        {
48.             print "<table border><tr><th colspan=2> Conversion Results</th></tr><tr><td>
49.             $degree</td><td>kelvin</td></tr>";
50.             $k_2_f = ($degree - 273.15) * 9 / 5 + 32;
51.             print "<tr><td>$k_2_f</td><td>fahrenheit</td></tr>";
52.             $k_2_c = $degree-273.15;
53.             print "<tr><td>$k_2_c </td><td>celsius</td></tr>";
54.             $k_2_r = $k_2_f+459.6;
55.             print "<tr><td>$k_2_r</td><td>rankine</td></tr></table>";
56.        }
57.          
58.         if ($scale == "rankine")
59.        {
60.             print "<table border><tr><th colspan=2> Conversion Results</th></tr><tr><td>$degree</td><td>rankine</td></tr>";
61.             $r_2_f = $degree-459.6;
62.             print "<tr><td>$r_2_f</td><td>fahrenheit</td></tr>";
63.             $r_2_c = ($r_2_f - 32)*5/9;
64.             print "<tr><td>$r_2_c </td><td>celsius</td></tr>";
65.             $r_2_k = $r_2_c + 273.15;
66.             print "<tr><td>$r_2_k</td><td>kelvin</td></tr></table>";
67.        }
68.     }
69.     else
70.        //print an error message if input is NULL or NaN
71.        echo "<span style = \"color:red\">*Please Enter a Valid Temperature.</span>";
72.}
73. 
74. ?>
75. 
76.<p>
77. 
78.<a href="http://www.goatella.com">Goatella's Home Page</a><p>
79. 
80.<a href="https://github.com/Goatella/PHPTemperatureConversion">This Project on GitHub</a>




Tag : PHP, MySQL, HTML/CSS, Windows, Linux, Mac

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-02-21 17:04:54 By : doanga2007 View : 1222 Reply : 2
 

 

No. 1



โพสกระทู้ ( 1,521 )
บทความ ( 2 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

PHP Create - Call Web Service สร้างและเรียกเว็บเซอร์วิส ด้วย PHP (NuSoap and Soap)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-21 18:59:29 By : Krungsri
 

 

No. 2



โพสกระทู้ ( 131 )
บทความ ( 14 )



สถานะออฟไลน์


ขอบคุณครับสำหรับคำตอบ สามารถทำเรื่อง SOAP แบบ Tag เดียว ได้แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-28 14:44:28 By : doanga2007
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอ Code ที่ทำให้ไฟล์ WSDL SOAP กับ PHP 2 ไฟล์ ให้ทำงานกันได้หน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่