當前位置:首頁 » 操作系統 » cwebservice資料庫操作

cwebservice資料庫操作

發布時間: 2023-05-03 14:08:47

『壹』 如何調用WebService介面把數據存儲資料庫里而不使用JSP頁面

訪問WEBSERVICE本來都不需要使用JSP頁面吧?直接客戶端調用就行了啊。如果有返回對象的話,生成一下對象,如果只返回的基本類型的話,直接解析XML就OK了。

『貳』 如何在C#中webservice調用方法總結

一、WebService在cs後台程序中的調用
A、通過命名空間和類名直接調用
示例:
WebService ws = new WebService();
string s = ws.HelloWorld();
B、通過添加WEB引用的方式調用,首先添加WEB引用,通過URL指向WEBSERVICE,
指定WEB引用名,假設為KK;
示例:
kk.WebService n = new kk.WebService();
string ss=n.HelloWorld();
二、WebService在前台頁面的JS 調用方法
1、首先通過下面的方法把Webservice在前台引用進來
<asp:ScriptManager runat="server">
<Services>
<asp:ServiceReference Path="WebService.asmx" InlineScript="True" />
</Services>
</asp:ScriptManager>
2、然後就可以通過JS程序進行調用,示例如下:
<script type="text/jscript">
function a()
{
WebService.HelloWorld(onresult);
}
//這里的onresult是回調函數
function onresult(result)
{
alert(result);
}
function b()
{
WebService.add(1,2,onreturn)
}
function onreturn(result)
{
alert(result);
}
//下面的'context'是上下文,可以通過回到函數通過重載的方式獲得;
function c()
{
WebService.div(1,1,onresultC,onerror,'context');
}
function onresultC(res,c)
{
alert(res);
alert(c);
}
//onerror是獲得異常信息的回調函數,下面給出了獲得異常信息的方法
function onerror(error)
{
var a="";
a=String.format("獲取伺服器端異常的具體類型:{0}\t\n獲取詳細的異常描述信息:{1}\t\n獲取造成異常的:{2}\t\n獲取伺服器端異常的堆棧
跟蹤信息:{3}\t\n獲取一個布爾值,表示異常是否是由於網路連接超時造成的{4}",
error.get_exceptionType(),
error.get_message(),
error.get_statusCode(),
error.get_stackTrace(),
error.get_timedOut())
alert(a);
}
a();
b();
c();
</script>
----自寫小例子---
web Service---:
[WebMethod]
public string HelloWorld() {
return "Hello World,wwg";
}
[WebMethod]
public int AddWwg(int a,int b)
{
return a + b;
}
exe---
using CallWebService.localhost; //因為自己沒有定義命名空間
namespace CallWebService
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Service serviceWwg = new Service();
int i1 = Int32.Parse(txt1.Text.ToString());
int i2 = Int32.Parse(txt2.Text.ToString());
int iResult = serviceWwg.AddWwg(i1, i2);
lb1.Text = iResult.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
CallWebService.localhost.Service serviceWwg = new CallWebService.localhost.Service();
string strResult = serviceWwg.HelloWorld();
lb1.Text = strResult.ToString();
}
}
}

『叄』 用C#寫簡單的Web Service

安裝完VS後再安裝MSDN,MSDN有構建一個簡單WebService的步驟。

『肆』 如何編寫webservice c

採用的工具VS2010生成工程

1. 生成webservice工程:建 ASP.NET 空WEB 應用程序。

2. 在建好的ASP.NET 空WEB應用程序中新建項「web 服務」。

完成上述內容工程結構如下圖

2. 然後再重新生成一下測試項目,最後在測試項目中定義一個測試方法並調用webservice中的方法。代碼如下


privatevoidbutton1_Click(objectsender, RoutedEventArgs e){YDTF.WebService1SoapClient aa =newYDTF.WebService1SoapClient();button1.Content = aa.HelloWorld();Menus m =newMenus();m.Name ="Name";m.NameSpace ="NameSpace";DataSet ds = aa.query();inti = ds.Tables[0].Rows.Count;}

3.單步調試一下若運行結果和預料一樣則成功了。

『伍』 C/S程序怎麼在後台調用伺服器的WebService

1、新建一個文本文件,把擴展名改成.vbs
2、右鍵點擊這個vbs文件,在彈出的菜單中選擇編輯
3、輸入以下命令
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c test",vbhide
然後Ctrl+S保存
4、最後打開這個vbs文件即可
沒有dos窗口,也沒有任務欄圖標,你也可以打開任務管理器在上面找數州到cmd.exe這就是你後台運行的批處理命令。
5、批量處理是一個ASCII文件,它包含一個或多個操作系統命令。批處理程序的文件名的擴展名是.cmd 或.bat。當您在命令提示中鍵入文件名,或者當從另一個程序運行批處理程拆畢脊序時,其命令將按順序處理。批處理程序也被稱為批處理文件,也稱為批處理旅滲腳本,英文譯為BATCH,批處理文件後綴BAT就取的前三個字母。

『陸』 C/C++實現WebService服務提供JSON數據的介面

我先說下我的想法,不知道對不對,其實webservice這個東西說白了就是個String的東西,你接受到以後怎麼解析json這個就看你自己的方法,調用webservice,別想那麼多,就是獲得一個字元串,找到字元串中標示位,取得後邊的值。希望我的回答對你有幫助

『柒』 如何用c語言實現基於http的webservice

package com.yun.test;
import java.rmi.RemoteException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.message.PrefixedQName;
import org.apache.axis.message.SOAPHeaderElement;
import com.cezanne.golden.user.Exception;
import com.cezanne.golden.user.UserManagerServiceProxy;
import javax.xml.namespace.QName;
import java.net.MalformedURLException;
import javax.xml.rpc.ServiceException;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPException;
public class testWebService {
public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException
{
//標識Web Service的具體路徑
String endpoint = "WebService服務地址";
// 創建 Service實例
Service service = new Service();
// 通過Service實例創建Call的實例
Call call = (Call) service.createCall();
//將Web Service的服務路徑加入到call實例之中.
call.setTargetEndpointAddress( new java.net.URL(endpoint) );//為Call設置服務的位置
// 由於需要認證,故需要設置調用的SOAP頭信息。
Name headerName = new PrefixedQName( new QName("發布的wsdl里的targetNamespace里的url", "string_itemName") );
org.apache.axis.message.SOAPHeaderElement header = new SOAPHeaderElement(headerName);
header.addTextNode( "blablabla" );
call.addHeader(header);

// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement("發布的wsdl里的targetNamespace里的url", "SoapHeader");
// soapHeaderElement.setNamespaceURI("發布的wsdl里的targetNamespace里的url");
// try
// {
// soapHeaderElement.addChildElement("string_itemName").setValue("blablabla");
// }
// catch (SOAPException e)
// {
// e.printStackTrace();
// }
// call.addHeader(soapHeaderElement);
//調用Web Service的方法
org.apache.axis.description.OperationDesc oper;
org.apache.axis.description.ParameterDesc param;
oper = new org.apache.axis.description.OperationDesc();
oper.setName("opName");
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg1"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg2"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
oper.setReturnType(new javax.xml.namespace.QName(", "string"));
oper.setReturnClass(java.lang.String.class);
oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
oper.addFault(new org.apache.axis.description.FaultDesc(
new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "Exception"),
"Exception",
new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "Exception"),
true
));
call.setOperation( oper );
call.setOperationName(new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "opName"));
//調用Web Service,傳入參數
String res = ( String ) call.invoke( new Object[]("arg0","arg1"));
System.out.println("===============");
return res;
}
/**
* @param args
*/
public static void main(String[] args) {
try {
System.out.println(getResult());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
} catch (SOAPException e) {
e.printStackTrace();
}
}
}

『捌』 怎麼在c語言中用socket的方式調用webservice

可以實現,先connect
sockaddr_in server;
if (m_bSockConnected)
{
return TRUE;
}
server.sin_addr.s_addr = inet_addr(m_szHost);
server.sin_family = AF_INET;
server.sin_port = htons((UINT)m_nPort);

if(connect(m_socket, (struct sockaddr*)&server, sizeof(server)) == SOCKET_ERROR)
{
m_bSockConnected = FALSE;
m_nLastErrorNo = WSAGetLastError();
MessageBox(0, "請檢網路和伺服器", "網路連接錯誤", 0);
return FALSE;
}
else
{
m_bSockConnected = TRUE;
}

int timeout=30;
setsockopt(m_socket, SOL_SOCKET, SO_RCVTIMEO, (const char*)&timeout, sizeof(int));
然後再發送url
char requestHeader[1024]= {0};
char nBuf[36] = {0};
strcpy(requestHeader, "PUT ");
strcat(requestHeader, szUrl);
strcat(requestHeader, "&Content-Length=");
_ui64toa(contentLength + 8, nBuf,10); //額外加了傳輸完成頭的長度是8 strlen(SEND_END_STRING)
strcat(requestHeader, nBuf);
strcat(requestHeader, "&FileCount=");
ltoa(fileCount,nBuf, 10);
strcat(requestHeader, nBuf);
strcat(requestHeader," HTTP/1.1\r\nContent-Length: ");
_ui64toa(contentLength + 8, nBuf, 10);
strcat(requestHeader,nBuf);
strcat(requestHeader,"\r\nHost: ");
strcat(requestHeader,m_szHost);
strcat(requestHeader,":");
itoa(m_nPort,nBuf,10);
strcat(requestHeader,nBuf);
strcat(requestHeader,"\r\nAccept: */*;\r\nAccept-Encoding: gzip,deflate\r\nKeep-Alive: 60000\r\nConnection: keep-alive\r\n\r\n");
//MessageBox(0, requestHeader, "info", 0);
char * szUTF8 = NULL;
BOOL bRet = FALSE;
bRet = CCharTransLib::EncodeToUTF8(requestHeader,&szUTF8);
if (bRet)
{
if ( (int)strlen(szUTF8) != send(m_socket, szUTF8, strlen(szUTF8), 0))
{
m_nLastErrorNo = GetLastError();
bRet = FALSE;
}
if (szUTF8)
{
delete []szUTF8;
szUTF8 = NULL;
}
}
以上是從我工程裡面摘的,可能有些變數樓主編譯不過去,但基本思想就是這樣的

『玖』 怎麼調用webservice服務

寫一個WINDOWS服務定期調用webservice中的方法。

1、先建一個WebService(ASP.NET Web 服務應用程序)

2、建這個WebService的虛擬目錄

3、執行生成一個文件
{
C:\Program Files\Microsoft Visual Studio 8\VC>wsdl /language:C# /out:c:\myProxyClass.cs http://hostServer:88/ImportData.asmx?WSDL
這個工具(方法)是針對一個webservice生成一個能動態調用的類
language:C#-----C#語言輸出

c:\myProxyClass.cs-----這個是生成的文件存在本地的文件名和路徑

http://hostServer:88/ImportData.asmx-----是虛擬目錄運行時的地址
}

4、創建一個windows服務程序(新建項目->左側選windows->右側選windows服務),然後把生成的文件引入到windows服務的程序中

5、寫調用事件(BeginImportUFData)

6、完成後編譯生成一下,這時就會在此windows服務程序的bin文件夾下生成一個exe文件(如:MyNewService.exe
)

7、按以下方式安裝

安裝:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 絕對路徑\MyNewService.exe
卸載:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u 絕對路徑\MyNewService.exe

例如:(用dos命令窗口執行)

安裝:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe
【然後顯示:正在安裝程序集,最後顯示:「提交」階段成功完成】
卸載:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe
【最後提示:卸載完成】

啟動、停止服務是window操作,找到管理-->服務 操作

『拾』 c++如何發布webservice

c+=中使用Axis實現webservice的基本過程:
使用Axis C++開發Web服務的基本過程可以簡單描述如下:
1、使用Java語言描述WEB服務
2、使用Java2WSDL工具生成WSDL文件
3、使用WSDL2Ws工具生成服務端代碼框架
4、編碼實現service,並部署服務
5、使用WSDL2Ws工具生成客戶端代碼框架
6、編碼實現客戶明譽端
三、實例演示
這里以一個簡單的加法Add服務來說明用Axis C++構建webService的過程。
1、使用Java語言描述WEB服務
Axis C++中我們必須先定義好WSDL後方可生成用來實現該服務的代碼框架,這一點與Axis Java不同。生成WSDL方法很多,可以使用Java2WSDL工具,當然也可以手工編寫,這里使用Java2WSDL工具生成。下面我們對Add服務用Java語言描述:
public interface Add{
public int add(int x, int y);
}
只要方法的聲明即可,不需要實現方法,因此我們使用介面來定義。將上面的代碼保存為Add.java。
2、使用Java2WSDL工具生成WSDL文件
javac Add.java (生成.class文件)
java -Djava.ext.dirs=$AXISCPP_HOME/lib/axisjava org.apache.axis.wsdl.Java2WSDL -o Add.wsdl -l"http://localhost/axis/Add" -n"http://localhost/axis/Add" Add

經過上面兩步,我們就可以得到Add.wsdl文件。需要說明的是,生成的WSDL文件有時會有錯(intf都成了impl),這可能是Java2WSDL工具的Bug。如果出現這種情況,可以和Axis C++自帶的例子WSDL文件對比。(註:我花了兩天時間才找出這個問題)

3、使用WSDL2Ws工具生成服務端代碼框架
有上面的WSDL文件,我們可以用WSDL2Ws工具生成服務端構架。
java -Djava.ext.dirs=$AXISCPP_HOME/lib/axisjava -cp $AXISCPP_HOME/lib/axis/wsdl2ws.jar org.apache.axis.wsdl.wsdl2ws.WSDL2Ws Add.wsdl -lc++ -sserver

-s server 表示生成server代碼框架
-l c++ 表示生成C++代碼

4、編碼實現service,並部署服務
上面生成的文件中,我們只需要實現Add.cpp中的add方法即可。
... ...
xsd__int Add::add(xsd__int Value0, xsd__int Value1)
{
return Value0+Value1;
}
... ...

對代碼編譯並鏈接生成.so動態庫:
g++ -shared -I$AXISCPP_HOME/include -o libadd.so *.cpp

對服務進行部署,步驟如下:
(1).將生成的libadd.so文件復制至$AXISCPP_DEPLOY/lib目錄
(2).復制Add.wsdl文件至$AXISCPP_DEPLOY/wsdls目錄
(3).編輯AXISCPP_DEPLOY/etc/server.wsdd文件並在相應位置添加如下內容:
<service name="Add" provider="激斗段CPP:RPC" description="Add Service ">
<parameter name="className" value="/apache/axiscpp/lib/libadd.so"/>
<parameter name="allowedMethods" value="add "/>
</service>
(4).重新啟動HTTP服務
(5).檢查http://localhost/axis是不否有新增的銷埋Add服務

為了測試我們發布的Web服務是否工作正常,我們下面利用Axis C++來生成調用該服務的客戶端代碼並進行測試。

5、使用WSDL2Ws工具生成客戶端代碼框架
java -Djava.ext.dirs=$AXISCPP_HOME/lib/axisjava -cp $AXISCPP_HOME/lib/axis/wsdl2ws.jar org.apache.axis.wsdl.wsdl2ws.WSDL2Ws Add.wsdl -lc++ -sclient

-s client 表示生成client代碼框架
-l c++ 表示生成C++代碼

6、編碼實現客戶端
上述命令生成了Add.hpp, Add.cpp,我們再編寫客戶端入口程序 AddClient.cpp:
#include "Add.hpp"
#include <stdio.h>

int main(int argc, char** argv)
{
Add ws("http://localhost/axis/Add");
int sum;
if(argc<2)
{
printf("Usage:%s num1 num2\n", argv[0]);
return -1;
}
sum = ws.add(atoi(argv[1]),atoi(argv[2]));
printf("%d\n",sum);
return 0;
}

編譯客戶端,生成可執行文件:
g++ -I$AXISCPP_HOME/include -L$AXISCPP_DEPLOY/lib -laxis_client -ldl -o Add *.cpp

之後,可以用Add命令測試服務工作是否正常。

熱點內容
29乘法手指速演算法 發布:2025-09-14 16:11:30 瀏覽:828
iosandroidhtml5 發布:2025-09-14 16:10:39 瀏覽:923
systemuiapk反編譯 發布:2025-09-14 15:46:44 瀏覽:991
php本地安裝 發布:2025-09-14 15:44:59 瀏覽:343
壓力大緩解壓力聽什麼歌 發布:2025-09-14 15:39:35 瀏覽:305
Java中文代碼 發布:2025-09-14 15:39:33 瀏覽:659
java除 發布:2025-09-14 15:38:59 瀏覽:577
python爬蟲存儲資料庫 發布:2025-09-14 15:29:03 瀏覽:947
解壓球捏不動 發布:2025-09-14 15:26:52 瀏覽:799
1的存儲形式 發布:2025-09-14 15:01:19 瀏覽:349