PHP 與 .NET Webservice 的溝通 (soap)

跨系統的資料交換與溝通, MIS常會提供.NET Webservice :

Image 20

在php中如何發送soap 呢? 如何發送請求呢? 最簡單的方式如下, 紅色文字自行變更, 應輸出XML格式:

header('Content-Type: text/xml; charset=UTF-8'); //避免中文亂碼且輸出為 xml
$client = new SoapClient("http://www.XXX.com/GetService.asmx?WSDL", array('trace' => 1)); //網址請自行變更
$result = $client->GetCompanyCode(); //要呼叫的方法,請自行變更
echo $client->__getLastResponse();

如果順利印出xml, 可到此驗證xml: http://www.w3schools.com/xml/xml_validator.asp

另一個方式, 取得格式不同:


header('Content-Type: text/html; charset=UTF-8'); //避免中文亂碼
$client = new SoapClient("http://xxx.xxx.com/GetService.asmx?WSDL");  //網址請自行變更

//要傳入的參數,請自行變更,如不需傳入參數,則下方紅色字全部移除
$params = array(
  "Contact" => $contact,
  "description" => "Barrel of Oil",
  "amount" => 500,
);

$response = $client->__soapCall("Function1", array($params)); //要呼叫的方法,請自行變更

var_dump($response);

如果提供service的MIS 需要你傳入一段XML當作參數, 而非傳入一個ARRAY呢?


header('Content-Type: text/xml; charset=UTF-8'); //避免中文亂碼且輸出為 xml

$url = 'http://www.xxx.com/GetService.asmx?WSDL';
$client = new SoapClient($url);

$xmlr = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><XXXX><Command><ID>30</ID></Command></XXXX>');  //自行更改要傳入的XML


$params = new stdClass();
$params->xml = $xmlr->asXML();

$result = $client->方法名稱($params); //自行更改方法名稱
echo $result->方法名稱; //自行更改方法名稱
廣告

[PHP 產生 QR CODE] 每份公文與合約上, 都有 QR CODE

公司要建立文件管理系統, 每份公文與合約上, 希望有 二維條碼與 QR CODE, 以避免日後文件搜尋與整理的困擾;
如果你去便利商店取 高鐵車票, 印出來的票根上, 也有 QR CODE, 可以預見, 未來的應用會越來越多元, 越來越方便.

如果你想在主機或是網站上, 自己產生特定訊息的 QR CODE, 可以使用這個 CLASS .

解壓縮後上傳到主機上面的某個資料夾 (完全不需更動主機設定), 裡面有這些結構:

PHP QR Code

PHP QR Code :  需要自己新增 temp 資料夾, 並開放寫入權限

下載方式與安裝注意事項, 請看:   http://www.anson.com.tw/2011/anson-post-104.html

 

網頁設計,程式設計

技術相關 – 發出去的 電子報 是否安然無恙…?

email, edm ?!

email, edm ?!

業務與行銷都很重視電子報與edm, 畢竟那是定期向客戶傳達訊息的一種方式, 而且內容與角度是經過設計的,

但是常常遇到的情況是, 客戶收不到…  電子報被歸類為垃圾信… 電子報版面亂了…

負責發送的人也是滿腹委屈, 不知該如何解釋.

電子郵件內也無法置放 flash, 許多email 裡的圖片, 是會被預設不顯示, 除非經過用戶同意之後才會顯示, outlook 2007 是非常嚴格的郵件軟體, gif 檔也不支援 !  (所以公司的郵件簽名檔建議不用動態的) (看來我們要回到原始時代了…)

發送電子報可以注意以下幾點:

1.  事前與發送單位溝通製作方式 (如果發送者與製作者是不同人的時候…)

2. 和發送單位溝通發送時間, 一次發送的數量, 分批發送的時間間隔, 確認名單是正確的, 信被退回時由誰來確認信箱是否是有效的, 客戶抱怨不想收到時 誰是窗口?

3. 發送的工具

ok , 現在提供一些網頁連結:

關於edm的製作方式, 可以參考這篇文章:  email design guidelines

關於edm的發送工具, 可以參考這兩個工具: phplist 和 較為簡單的 香草期刊與電子報系統 ,提醒您! phplist 有許多要調教的參數, 且安裝過程會有一些狀況產生 (因為每台主機或是虛擬主機商的設定值不同), 建議資訊人員使用, 香草期刊也有一些bug, 修正方式可以參考這裡

如果您可以克服過程中的許多困難, 您也是發報專家了.

在製作電子報時, gmail 看到的排版有時稍嫌混亂, 所以建議把 css 寫在版面裡 (行內樣式) , 放在head 區段的css是會被移除的.

相關文章: 預約發報, 發報後, 自動推廣到 twitter and facebook

PHP 語言的創始者 Rasmus Lerdorf – 程式不用寫得完美,而是要簡單有效

PHP語言的創始者Rasmus Lerdorf

PHP語言的創始者Rasmus Lerdorf

身為 web2.0 的推手,open source 的 php 有著一定的影響力,php有著易學易用的特性,讓許多網頁設計師也可以投身程式的領域,發展自己的邏輯,推展自己的作品,利器在手中,可以千變萬化,讓我們一起發揮想像力,讓更多的應用,創造更多的樂趣。

外部的行銷網站,其實可多加利用open source來做,內部的進銷存等ERP系統,則看公司預算考量,不是嗎?


圖片引用:PHP之父的開發祕訣

天空傳媒 面試 ( php 考題 )

天空傳媒  面試 ( php 考題 ),不會太難:

1. my sql 對資料庫 table 做 optimize table 的時機為何 ?

2. 請舉出兩種常用的 template 名稱 ?

3. include 與 require 之差異 ?

4. php cookie_base session 的工作原理 ?

5. MySQL 語系為 utf-8, 前端為 big5 時, 要如何正確顯示中文?

6. MySQL 內定連線 PORT ?

7. 如何取得 MAGIC QUOTES 的設定值 ?

8. $STRING=’a1,a2,a3,a4′,則 implode(‘;’,explode(‘,’,$STRING))
則 echo $STRING 的結果為何?


以下題目為網友 回饋,為相關題目:(我們不做任何確認與保證

9.何謂 SQL injection

10.開啟 Global Register 的優缺點

11.$var = 0;
if (empty($var)) {
echo ‘$var is either 0, empty, or not set at all’;
}