我在Glassfish之上创建了一个JAX-WS Web服务,它需要基本的HTTP身份验证.
现在我想为该Web服务创建一个独立的Java应用程序客户端,但我不知道如何传递用户名和密码.
它适用于Eclipse的Web Service资源管理器,并检查我发现的电线:
POST /SnaProvisioning/SnaProvisioningV1_0 HTTP/1.1
Host: localhost:8080
Content-Type: text/xml; charset=utf-8
Content-Length: 311
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: IBM Web Services Explorer
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Authorization: Basic Z2VybWFuOmdlcm1hbg==
Connection: close
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://ngin.ericsson.com/sna/types/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<q0:listServiceScripts/>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
如何使用java代码在此"Authorization"标头中传递用户名和密码?它是哈希还是类似的东西?算法是什么?
如果没有安全性,我有一个独立的java客户端:
SnaProvisioning myPort = new SnaProvisioning_Service().getSnaProvisioningV10Port();
myPort.listServiceScripts();
Run Code Online (Sandbox Code Playgroud) 几天前我开始使用emacs作为我的主编辑,我正在收集我需要的所有自定义项.
我给它的主要用途是在远程Linux机器(RHEL 5)上开发C项目.到目前为止,我使用普通的vim(仅作为文本编辑器)和一堆shell脚本,有一天我决定尝试使用emacs.到目前为止,我喜欢它.
但作为一个缺点,我看到设置运行emacs的环境还有很长的路要走,而不是直接在开发机器上使用它(并在我使用的每台机器上设置环境)我会尝试使用它从我的笔记本电脑进行远程开发.
我知道TRAMP,但据我所知只编辑远程文件.最大的障碍是通过一次击键在远程机器上运行shell命令(我绑定了F5以在远程机器的emacs上运行自定义编译命令).
如何使用单个emacs击键在远程计算机上运行shell命令?你知道完成远程开发的其他任何提示和技巧吗?
我试图通过使用自定义版本的gradle-release插件来模拟Android中的Maven发布插件:https://github.com/townsfolk/gradle-release
有趣的步骤是:
但是生成的APK总是具有以前的版本(即1.0.0-SNAPSHOT而不是1.0.0).
版本号在gradle.properties中存储并正确更新,因此我假设我需要更新数据模型中的版本以使更改生效.
我的android插件配置:
defaultConfig {
versionCode versionCode as int // taken from gradle.properties
versionName versionName // taken from gradle.properties
minSdkVersion 10
targetSdkVersion 19
}
Run Code Online (Sandbox Code Playgroud)
我试过的事情:
preBuild << {
android.applicationVariants.each { variant ->
variant.versionName = versionName
}
}
Run Code Online (Sandbox Code Playgroud)
但是变体中没有versionName.
preBuild << {
android.buildTypes.each { type ->
type.versionName = versionName
}
}
Run Code Online (Sandbox Code Playgroud)
但是类型中没有versionName.
preBuild << {
android.productFlavors.each { flavor ->
flavor.versionName = versionName
}
}
Run Code Online (Sandbox Code Playgroud)
但是我的应用程序中没有任何风格(仅限普通的调试和发布版本类型).
我的另一种方法是在调用Gradle之前编写一个bash/bat脚本来处理版本,这几乎违背了使用Groovy来改进构建自定义的目的.
如何在执行阶段在Android Gradle插件中动态更新版本?
问题是这样的:我有一个抽象类在它的构造函数中做了一些工作,还有一组实现抽象类的子类:
class AbstractClass {
AbstractClass(){ /* useful implementation */ }
}
class ConcreteClass1 extends AbstractClass {
ConcreteClass1(){ super(); /* useful implementation */ }
}
Run Code Online (Sandbox Code Playgroud)
然后,需要定制具体类,一个解决方案是扩展具体类:
class CustomizedClass1 extends ConcreteClass1 {
CustomizedCLass1(){ super(); /* useful implementation */ }
}
Run Code Online (Sandbox Code Playgroud)
但问题是定制类只需要调用抽象类的构造函数而不是具体类的构造函数.
你是如何实现这一目标的?改变班级关系的建议是有效的.
编辑:具体的例子是ConcreteClass1和CustomizedClass1有不同的数据集(ConcreteData1和CustomizedData1),并从类的构造函数中的数据库中检索它.问题是创建CustomizedClass1的实例将检索两个数据实体.
我知道使用简单的继承可能不是最好的事情,这就是为什么我指出改变类关系的建议是有效的.
我有一个查询工厂,它将列名作为属性,以便搜索该列.现在我将列的名称作为字符串传递,因此它是硬编码的.如果列的名称在实体的注释中发生更改,则"隐藏的依赖项"会中断.
在jpa中是否有一种方法可以检索列的真实名称并在编译时将其提供,因此我可以在查询中使用它?
我有一个从Glassfish迁移到Weblogic的应用程序,它使用java.util.logging作为日志框架.
我发现使日志工作的唯一方法是编辑JVM的logging.properties文件并重新启动服务器.这个解决方案很笨拙并且会产生问题,因为日志写入的文件不同于weblogic的标准文件,因此我们必须查看群集环境中日志的文件太多.此外,由于某些原因,这在某些Windows系统上不起作用.
有没有办法继续使用标准的Java日志记录来将消息写入weblogic的标准日志文件?我尝试了此页面上的说明,但它也不起作用.
我正在开发一个WebService的客户端应用程序,我在jar中有相应的WSDL文件.
我正在使用ant从wsdl生成带有以下build.xml的java代码:
<project name="wsimport" default="wsimport" basedir=".">
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport" />
<target name="wsimport">
<echo message="Starting wsimport"/>
<mkdir dir="target/generated-sources/jaxws-wsimport"/>
<wsimport
wsdl="???"
sourcedestdir="target/generated-sources/jaxws-wsimport"
extension="true"
verbose="true"
target="2.0"
xnocompile="true"
catalog="src/jax-ws-catalog.xml"
wsdlLocation="/MyWebService/MyWebServiceV1_0?wsdl">
<binding dir="src/main/resources/bindings/v1_0" includes="*.xml"/>
<xjcarg value="-XhashCode"/>
<xjcarg value="-Xequals"/>
<xjcarg value="-XtoString"/>
</wsimport>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
如何从jar加载WSDL文件?WSDL引用了一个XSD,它也在同一个jar中.