如果您对使用ASP在IIS创建WEB站点的函数和使用iis搭建asp开发环境感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解使用ASP在IIS创建WEB站点的函数的各种细节,并对使用iis搭建a
如果您对使用ASP在IIS创建WEB站点的函数和使用iis搭建asp开发环境感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解使用ASP在IIS创建WEB站点的函数的各种细节,并对使用iis搭建asp开发环境进行深入的分析,此外还有关于Axis创建WebService、Axis创建webservice客户端和服务端、FTPC使用Axis2创建WebService、iis – 在PowerShell中创建Web场的实用技巧。
本文目录一览:- 使用ASP在IIS创建WEB站点的函数(使用iis搭建asp开发环境)
- Axis创建WebService
- Axis创建webservice客户端和服务端
- FTPC使用Axis2创建WebService
- iis – 在PowerShell中创建Web场
使用ASP在IIS创建WEB站点的函数(使用iis搭建asp开发环境)
============================================================='' 感谢您使用ASP001工作室开发的实用函数程序
'' HTTP://WWW.ASP001.NET
''=============================================================
''ASP001工作室为您提供订制程序开发、企业互联网拓展服务
''QQ:1974229
''E-Mail:Shenyangchuqi@tom.com
''更多程序下载请到HTTP://WWW.ASP001.NET
''=============================================================
''函数介绍:创建WebSite
''本函数使用ADSI,需要Administrators组用户权限
''函数名称:CreateWebSite(Computer,IPAddr,PortNum,HostName,WebSiteDirectory,LogDirectory,WebSiteInfo,GuestUserName,GuestUserPass,StartOrStop)
''程序开发:ASP001工作室 ChuQi
''用法:CreateWebSite 计算机名(一搬为LocalHost或127.0.0.1),站点IP地址,端口号,主机名,站点根目录,,LOG文件的目录站点说明,网站访问时所使用的帐号,网站访问时所用帐号的口令,是否启动站点
''例:CreateWebSite "LocalHost","127.0.0.123","80","www.test.net","E:\UserData\UserNum001","E:\UserData\UserNum001\LogFiles","wwwtest.net","IUSR_Num001_test.net","abc888",True
''=============================================================
Function CreateWebSite(Computer,IPAddr,PortNum,HostName,WebSiteDirectory,LogDirectory,WebSiteInfo,GuestUserName,GuestUserPass,StartOrStop)
Dim w3svc, WebServer, NewWebServer, NewDir
Dim Bindings, BindingString, NewBindings, SiteNum, SiteObj, bDone
On Error Resume Next
Err.Clear
''检测是否能够加载W3SVC服务(即WEB服务)
Set w3svc = GetObject("IIS://" & Computer & "/w3svc")
If Err.Number <> 0 Then ''显示错误提示
response.write "无法打开: "&"IIS://" & Computer & "/w3svc"
response.end
End If
''检测是否有设定相同IP地址、端口及主机名的站点存在
BindingString = IPAddr & ":" & PortNum & ":" & HostName
For Each WebServer in w3svc
If WebServer.Class = "IIsWebServer" Then
Bindings = WebServer.ServerBindings
If BindingString = Bindings(0) Then
response.write "IP地址冲突:" & IPAddr & ",请检测IP地址!."
Exit Function
End If
End If
Next
''确定一个不存在的站点编号做为新建站点编号,系统默认WebSite站点编号为1,因此从2开始
SiteNum=2
bDone = False
While (Not bDone)
Err.Clear
Set SiteObj = GetObject("IIS://"&Computer&"/w3svc/"&SiteNum) ''加载指定站点
If (Err.Number = 0) Then
''response.write " Step_1站点"&SiteNum&"存在 "
SiteNum = SiteNum + 1
Else
''response.write " Step_1站点"&SiteNum&"不存在 "
Err.Clear
Set NewWebServer = w3svc.Create("IIsWebServer",SiteNum) ''创建指定站点
If (Err.Number <> 0) Then
''response.write " Step_2站点"&SiteNum&"创建失败 "
SiteNum = SiteNum + 1
Else
''response.write " Step_2站点"&SiteNum&"创建成功 "
bDone = True
End If
End If
If (SiteNum > 50) Then ''服务器最大创建站点数
response.write "超出服务器最大创建站点数,正在创建的站点的序号为: "&SiteNum&"."
response.end
End If
Wend
''进行站点基本配置
NewBindings = Array(0)
NewBindings(0) = BindingString
NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment= WebSiteInfo
NewWebServer.AnonymousUserName= GuestUserName
NewWebServer.AnonymousUserPass= GuestUserPass
NewWebServer.KeyType = "IIsWebServer"
NewWebServer.FrontPageWeb = True
NewWebServer.EnableDefaultDoc = True
NewWebServer.DefaultDoc = "Default.htm, Default.asp, Index.htm, Index.asp"
NewWebServer.LogFileDirectory= LogDirectory
NewWebServer.SetInfo
Set NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")
NewDir.Path = WebSiteDirectory
NewDir.AccessRead = true
NewDir.AppFriendlyName = "应用程序" & WebSiteInfo
NewDir.AppCreate True
NewDir.AccessScript = True
Err.Clear
NewDir.SetInfo
If (Err.Number = 0) Then
Else
response.write "主目录创建时出错."
response.end
End If
If StartOrStop = True Then
Err.Clear
Set NewWebServer = GetObject("IIS://" & Computer & "/w3svc/" & SiteNum)
NewWebServer.Start
If Err.Number <> 0 Then
response.write "启动站点时出错!"
response.end
Err.Clear
Else
End If
End If
response.write "站点创建成功,站点编号为:"& SiteNum &" ,域名为:"& HostName
End Function
Axis创建WebService
学习Axis和web service之一
一.首先下载安装软件: 二.安装 三. 2.然后到axis-1_2_1目录下,找到lib文件夹,拷贝其中的activation.jar文件,到 在web.xml里写上下面这段话 <servlet> 在应用服务器启动时就会调用server-config.wsdd 文件如下 <?xml version="1.0" encoding="UTF-8"?> <service name="Version" provider="java:RPC"> <!-- <service name="ss" provider="java:RPC"> 打开浏览器输入 http://172.31.0.9/services/tcsfService?wsdl 如果不报错就证明环境正常,就可以开始编写了,当然TcsfWebService这个类里可以便写的.只要存在就行了. 五.测试 javax/wsdl/OperationType 六调试AXIS import java.util.*; import org.apache.axis.client.Call; 一下,这里就不再描述了。 |
Axis创建WebService 测试环境和工具:jdk1.4.2,tomcat 5.x,eclipse 3.0,axis 1.2.x 首先配置好jdk和tomcat容器。 首先 下载 axis [http://apache.justdn.org/ws/axis/1_2_1/]目前版本是 1.2.1。解压缩到某个盘的axis下面。 copy %axis%/webapps/axis目录到 %tomcat_home%/webapps下。 copy mail.jar,activation.jar到 %tomcat_home%/webapps/axis/WEB-INF/lib下,这两个文件可以去sun网站或者google里去search。 启动tomcat,没有报错,而且可以访问[http://localhost:8080/axis/happyaxis.jsp] 说明你配置已经成功。 HelloWorld 测试 打开eclipse 创建一个axis的j2ee project,导入%tomcat_home%/webapps/axis/WEB-INF/lib下的所有的jar文件到该项目的lib目录,并且添加到classpath。 创建HellowWorld.java 文件 public class HelloWorld { public String sayHello() { return "Hello World!"; } } 创建 HelloClient.java 文件 import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class HelloClient { public static void main(String [] args) throws Exception { String endpoint = "http://localhost:" +"8080"+ "/axis/services/HelloWorld"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setoperationName("sayHello" ); String res = (String) call.invoke( new Object[] {} ); System.out.println( res ); } } 创建 server-config.wsdd文件 在%TOMCAT_HOME%/webapps/axis/WEB-INF下新建deploy.wsdd文件,即SOAP服务发布描述文件 deploy.wsdd <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="HelloWorld" provider="java:RPC"> <parameter name="className" value="HelloWorld"/> <parameter name="allowedMethods" value="sayHello"/> </service> </deployment> 在%TOMCAT_HOME%/webapps/axis/WEB-INF目录下执行下列语句 java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd 要注意的是 -Djava.ext.dirs=lib这个参数,这个参数可以使你编译过程中动态调用axis.jar包。而不需要事先在系统变量里配置axis.jar包的路径。另外,-lhttp://之后只有axis这个字符串可以根据项目名称的不同而修改,其他的都是必然写法。 打印 Processing file deploy.wsdd <Admin>Done processing</Admin> 则表示成功 你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)然后打开浏览器http://localhost:8080/axis/servlet/AxisServlet,你就会看到你的服务已发布 copy HelloWorld.class文件到 %TOMCAT_HOME%/webapps/axis/WEB-INF/classes下 在eclipse平台 run HelloClient 则可以执行 返回结果:Hello World! 这是一个最简单的测试用例 :p~~~
Axis创建webservice客户端和服务端
作者: 永恒の_☆ 地址: http://www.voidcn.com/article/p-xkhqhxav-bhs.html
一、Axis的介绍
Web Service是现在最适合实现SOA的技术,而Axis是实现Web Service的一种技术框架(架构)。
二、Axis的准备条件
所需要的jar包:
axis.jar
jaxrpc.jar
saaj.jar
wsdl4j-1.5.1.jar
commons-discovery-0.2.jar
xbean.jar
下载地址:http://download.csdn.net/detail/ch656409110/5747129
三、创建webservice服务端
1、先将jar包放入lib目录
2、在web.xml中配置axis监听器和核心servlet
<!-- axis配置 --> <listener> <listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class> </listener> <servlet> <display-name>Apache-Axis Servlet</display-name> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet> <servlet> <display-name>Axis Admin Servlet</display-name> <servlet-name>AdminServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class> <load-on-startup>100</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/servlet/AxisServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
3、创建一个xml,名字叫server-config.wsdd 放在WEB-INF根目录
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/> <service name="houseWebService" provider="java:RPC"> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="com.struts2.webservice.server.HouseWebServiceImpl"/> </service> <transport name="http"> <requestFlow> <handler type="URLMapper"/> </requestFlow> </transport> </deployment>
4、根据配置再创建webservice服务端的实现类
1、定义接口HouseWebService.java
public String getHouseList(String xmlStr);
2、实现该接口HouseWebServiceImpl.java
可以随便返回一些字符串即可。
5、保存,发布项目,启动tomcat
在地址栏输入:http://localhost:8080/house/services/houseWebService?wsdl 即可看到发布的服务端的明细。
如下:
这就表示Axis发布的webservice服务端成功了。
6、通过客户端调用服务端webservice
/** * 调用webservice路口 * @param endpoint 地址 * @param methodName 调用的方法 * @param xmlStr 传递的xml字符串参数 * @return */ public String invoke(String endpoint,String methodName,String xmlStr){ Service service = new Service(); Call call = null; try { call = (Call) service.createCall(); } catch (ServiceException e) { e.printstacktrace(); } QName qn = new QName(methodName); call.setoperationName(qn); call.setTargetEndpointAddress(endpoint); call.setUseSOAPAction(true); String result = ""; try { // 给方法传递参数,并且调用方法 result = (String) call.invoke(new Object[] { xmlStr }); } catch (remoteexception e) { e.printstacktrace(); } System.out.println("result is " + result); return result; } public List<House> getHouseList() { String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + " <house>" + " <condition>" + " <title>便宜</title>" + " <price></price>" + " <streetname></streetname>" + " <typename></typename>" + " <floorage>100</floorage>" + " <pageno></pageno>" + " <pagesize></pagesize>" + " </condition>" + " </house>"; String result = invoke("http://localhost:8080/house/services/houseWebService","getHouseList",xmlStr); }
在这里面传递的xml规范由 服务端自己规范好了,然后去解析、获取参数,执行相应的操作,返回想要的结果给调用的客户端。。
如果用axis调用axis的服务端使用使用起来很方便,但是调用cxf的服务端容易出错。
比如:如果在调用的时候没有指定命名空间,就不行。
在调用的时候不指定调用的参数以及返回的结果类型,就收不到客户端发送的参数。可以看看:http://blog.csdn.net/ch656409110/article/details/9310789
FTPC使用Axis2创建WebService
以往在FTPC里创建WebService是用jaxrpc,但是这次服务端的返回解析不了,而使用jaxrpc对返回值自己解析也不好操作,测试过axis2之后,觉得还不错。
1、使用wsdl2java自动生成java代码
进入Windows控制台,执行如下命令来生成WebService的客户端代码:
%AXIS2_HOME%\bin\wsdl2java -uri http://127.0.0.1:8080/awyb/services/mySoapService?wsdl -p client -s -o stub
其中-uri参数指定了wsdl文件的路径,可以是本地路径,也可以是网络路径。-p参数指定了生成的Java类的包名,-o参数指定了生成的一系列文件保存的根目录。在执行完上面的命令后,我们就会发现在当前目录下多了个stub目录,在./stub/src/client目录可以找到对应的客户端调用文件,这些文件复杂调用WebService,我们可以在程序中直接使用这些文件
2、引入Axis2的jar包,开发测试的时候可以建library,部署的时候放到SOS的lib下面即可,不用担心jar包冲突
3、需要引入的jar
其中引入dom4j是因为解析服务端返回的报文出错,自己手写的把XML转换成对象的解析语句要用到。
其他的是axis2本身要用到的jar包
4、服务端反应收不到请求对象,要求将HTTP请求头设为:Content-Type: text/xml; charset=UTF-8
修改方法:
_serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
如果使用SOAP11Constants(SOAP 1.1),HTTP请求头如下:
- POST /test HTTP/1.1
- Content-Type: text/xml; charset=UTF-8
- SOAPAction: "urn:add"
- User-Agent: Axis2
- Host: 146.11.42.87:9876
- Transfer-Encoding: chunked
如果使用SOAP12Constants(SOAP 1.2) ,HTTP请求头如下:
- POST /test HTTP/1.1
- Content-Type: application/soap+xml; charset=UTF-8; action="urn:add"
- User-Agent: Axis2
- Host: 146.11.42.87:9876
- Transfer-Encoding: chunked
如果不设置这个参数,HTTP请求头如下(和SOAP 1.1是一样的,可以确认默认使用SOAP 1.1):
- POST /test HTTP/1.1
- Content-Type: text/xml; charset=UTF-8
- SOAPAction: "urn:add"
- User-Agent: Axis2
- Host: 146.11.42.87:9876
- Transfer-Encoding: chunked
HTTP响应头中的Content-Type字段也是一样的
iis – 在PowerShell中创建Web场
<webFarms> <webFarm name="alwaysup" enabled="true"> <server address="alwaysup-blue" enabled="true"> <applicationRequestRouting httpPort="8001" /> </server> <server address="alwaysup-green" enabled="true"> <applicationRequestRouting httpPort="8002" /> </server> <applicationRequestRouting> <healthCheck url="http://alwaysup/up.html" interval="00:00:05" responseMatch="up" /> </applicationRequestRouting> </webFarm> <applicationRequestRouting> <hostAffinityProviderList> <add name="Microsoft.Web.Arr.HostNameRoundRobin" /> </hostAffinityProviderList> </applicationRequestRouting> </webFarms>
试图通过PS做到这一点证明是麻烦的:据我所知,没有专门的API来做到这一点(WebFarmSnapin意味着旧版本).
我已将注意力转移到IIS Administration Cmdlets,但只是让它工作了一半.
我有的代码:
##### # Overwriting the server farm ##### Write-Host "Overwriting the server farm $($webFarmName)" $webFarm = @{}; $webFarm["name"] = 'siteFarm' Set-WebConfiguration "/webFarms" -Value $webFarm ##### # Adding the servers ##### Write-Host "Adding the servers" $blueServer = @{} $blueServer["address"] = 'site-blue' $blueServer["applicationRequestRouting"] = @{} $greenServer = @{} $greenServer["address"] = 'site-green' $greenServer["applicationRequestRouting"] = @{} $servers = @($blueServer,$greenServer) Add-WebConfiguration -Filter "/webFarms/webFarm[@name='siteFarm']" -Value $servers ##### # Adding routing ##### Write-Host "Adding the routing configurations" $blueServerRouting = @{} $blueServerRouting["httpPort"] = "8001" Add-WebConfiguration -Filter "/webFarms/webFarm[@name='siteFarm']/server[@address='site-blue']" -Value $blueServerRouting
这会产生
<webFarms> <webFarm name="siteFarm"> <server address="site-blue" /> <server address="site-green" /> </webFarm> <applicationRequestRouting> <hostAffinityProviderList> <add name="Microsoft.Web.Arr.HostNameRoundRobin" /> </hostAffinityProviderList> </applicationRequestRouting> </webFarms>
正如您所看到的那样,它缺少与路由相关的端口.而且我还没有开始尝试在此时添加健康检查.
我究竟做错了什么?是否有一些我没有找到的Cmdlet让这更容易?
Related但没有太多有用的答案(生成代码的PowerShell选项卡保持为空).
在实现SF存在并且可能更合适之后,从SO开始在此处进行交叉.
解决方法
这是一个例子:
ForEach($farm in $farms) { # Create the farm .\appcmd.exe set config -section:webFarms /+"[name='$($farm.name)']" /commit:apphost ForEach($server in $farm.Servers) { # Add server to farm .\appcmd.exe set config -section:webFarms /+"[name='$($farm.name)'].[address='$($server.address)']" /commit:apphost } # URL Rewrite .\appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_$($farm.name)_lb',patternSyntax='Wildcard',stopProcessing='True']" /commit:apphost .\appcmd.exe set config -section:system.webServer/rewrite/globalRules /"[name='ARR_$($farm.name)_lb',stopProcessing='True']".match.url:"*" /commit:apphost .\appcmd.exe set config -section:system.webServer/rewrite/globalRules /"[name='ARR_$($farm.name)_lb',stopProcessing='True']".action.type:"Rewrite" /"[name='ARR_$($farm.name)_lb',stopProcessing='True']".action.url:"http://$($farm.name)/{R:0}" /commit:apphost }
关于使用ASP在IIS创建WEB站点的函数和使用iis搭建asp开发环境的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Axis创建WebService、Axis创建webservice客户端和服务端、FTPC使用Axis2创建WebService、iis – 在PowerShell中创建Web场的相关知识,请在本站寻找。
本文标签: