当前位置:首页 » 操作系统 » 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命令测试服务工作是否正常。

热点内容
修复系统时什么配置好 发布:2025-05-16 22:52:07 浏览:803
逆战脚本挂机 发布:2025-05-16 22:30:01 浏览:936
java随机产生数 发布:2025-05-16 22:25:52 浏览:256
java任务管理 发布:2025-05-16 22:17:02 浏览:572
安卓如何修改cpu 发布:2025-05-16 21:58:20 浏览:366
pythonainb 发布:2025-05-16 21:45:56 浏览:857
淘汰服务器可以做家用电脑吗 发布:2025-05-16 21:41:31 浏览:844
游程编码c语言 发布:2025-05-16 21:26:51 浏览:587
帝来哪个配置值得购买 发布:2025-05-16 21:12:29 浏览:463
什么是nodejs前端服务器 发布:2025-05-16 21:12:17 浏览:406