导航:首页 > 编程语言 > java获取header

java获取header

发布时间:2021-11-02 23:29:08

A. 请教下java调用webservice接口时怎么获取header信息呢

Java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。
1、编写代码方式:
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);

B. java request.getHeader

request.getHeader("referer")获取来访者地址。只有通过链接访问当前页的时候,才能获取上一页的地址;
否则request.getHeader("referer")的值为null,通过window.open打开当前页或者直接输入地址,也为null。

C. java中如何设置HTTP协议的头信息(header)

首先,我们先看一下http的头信息到底是什么:
HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而 言,包括message-header和message-body两部分。首先传递message- header,即http header消息。http header 消息通常被分为4个部分: general header, request header, response header, entity header。但是这种分法就理解而言,感觉界限不太明确,根据日常使用,大体分为Request和Response两部分。
在通常的servlet/jsp应用中,我们只是从http的header中取得信息,如果要设置信息,需要用到HttpClient,具体的设置方法如下:
HttpResponse response = null;
HttpGet get = new HttpGet(url);
get.addHeader("Accept", "text/html");
get.addHeader("Accept-Charset", "utf-8");
get.addHeader("Accept-Encoding", "gzip");
get.addHeader("Accept-Language", "en-US,en");
get.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22");
response = client.execute(get);
HttpEntity entity = response.getEntity();
Header header = entity.getContentEncoding();
if (header != null)
{
HeaderElement[] codecs = header.getElements();
for (int i = 0; i < codecs.length; i++)
{
if (codecs[i].getName().equalsIgnoreCase("gzip"))
{
response.setEntity(new GzipDecompressingEntity(entity));
}
}
}
return response;
其中,client为一个HttpClient的实力,创建方式如:
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
schemeRegistry.register(new Scheme("https", 443, SSLSocketFactory.getSocketFactory()));
cm = new (schemeRegistry);
cm.setMaxTotal(200);
cm.setDefaultMaxPerRoute(2);
HttpHost googleResearch = new HttpHost("research.google.com", 80);
HttpHost wikipediaEn = new HttpHost("en.wikipedia.org", 80);
cm.setMaxPerRoute(new HttpRoute(googleResearch), 30);
cm.setMaxPerRoute(new HttpRoute(wikipediaEn), 50);
DefaultHttpClient client = new DefaultHttpClient(cm);

D. java soap的header怎么获取

有对应的QName,就能获取了吧

public class SoapUtil{
SOAPPart initSoapPart throwsSOAPException{

SOAPMessage soapMessage = MessageFactory.newInstance.createMessage;
SOAPPart soapPart = soapMessage.getSOAPPart;
SOAPEnvelope soapEnvelope = soapPart.getEnvelope;
SOAPHeader soapHeader = soapEnvelope.getHeader;
SOAPElement cwmp = soapEnvelope.addNamespaceDeclaration;
SOAPElement xsi = soapEnvelope.addNamespaceDeclaration;
SOAPElement xsd = soapEnvelope.addNamespaceDeclaration;
SOAPElement enc = soapEnvelope.addNamespaceDeclaration;
SOAPElement id = soapHeader.addChildElement;
id.setTextContent;
return soapPart;
}
}

E. JAVA中request.getHeader(String param)获取的什么值

request.getHeader("user-agent")
获得的是http协议定义的文件头信息
可以根据这个文件头信息判断出访问网站的用户
是通过PC机登录还是通过手机登录

F. java web中获取头信息response.getLastHeader和response.getFirstHeader有什么不一样

http://www.blogjava.net/stevenjohn/archive/2012/09/26/388603.html
上面介绍的很详细,看能不能帮到专你。属

G. java web问题 filter中如何获取header中的content–type值

是login.jsp被嵌入到iframe里吧?三种解决方案:
首页菜单栏就做权限控制,没有权限的菜单不展示
需要权限的菜单点击时先ajax请求后台判断权限,权限通过了再加载页面到iframe,否则页面重定向到登录页
登录页加入js判断该页面是否处于iframe中,如果是则重写parent.location到登录页

阅读全文

与java获取header相关的资料

热点内容
qq日志怎么导入word文件 浏览:756
矿石菌种配置文件 浏览:330
罗技g删除配置文件 浏览:305
华为matepadpro如何编程 浏览:245
剑网380小橙武升级 浏览:790
数据如何长保存系统相册 浏览:277
北京哪里有学机器人编程的学校 浏览:517
360手机壁纸在哪个文件夹里 浏览:792
传奇怎么提取地图配置文件 浏览:495
如何让压缩文件zip小于50MB 浏览:968
文件夹突然不见了 浏览:124
qq防撤回xposed最新版 浏览:920
word替换图形 浏览:914
苹果手机内存测速软件 浏览:577
手机qq文件夹怎么找 浏览:479
有的文件没办法输入u盘 浏览:323
为什么d盘文件不能移动 浏览:757
荒野行动怎么用游戏app扫码 浏览:394
学信息学奥赛编程有什么好处 浏览:356
闲鱼买家要微信支付 浏览:766

友情链接