我在SoapUI中创建了一个REST项目来测试googlemapsapi休息服务(HTTPS).我配置SoapUI使用代理设置到fiddler(localhost:8888).在fiddler中,启用了Fiddler Tools - > Https下的"Decrypt Https Traffic"选项
当我发送请求时,握手成功.以下是请求和响应标头:
请求标题
CONNECT maps.googleapis.com:443 HTTP/1.1客户端用户代理:Apache-HttpClient/4.1.1(java1.5)传输连接:Keep-Alive Host:maps.googleapis.com
响应标题
建立HTTP/1.1 200连接
杂
FiddlerGateway:直接启动时间:15:45:06.462
运输
连接:关闭
握手后,没有进一步的请求和响应.
没有代理,握手和请求/响应工作正常.
注意:我按照以下链接将证书添加到SoapUI证书断言和密钥存储区,没有运气.
http://qatesterblog.blogspot.com/2013/10/how-to-make-soapui-ssl-compatible.html
尝试使用sqljdbc41for将我的 Java Web 应用程序与 MS-SQL 服务器连接起来jdk 1.8。这是数据库连接代码-
Connection connection;
String url = "jdbc:sqlserver://localhost:1433;databaseName=Lista;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
connection = DriverManager.getConnection(url);
Run Code Online (Sandbox Code Playgroud)
当我尝试向数据库中插入一些值时,例如 -
PreparedStatement ps = connection.prepareStatement("INSERT INTO user_informations VALUES(?,?,?)");
ps.setString(1, "value");
ps.setString(2, "value");
ps.setString(3, "value");
ps.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
每次都收到以下错误-
com.microsoft.sqlserver.jdbc.SQLServerException: 此驱动程序未配置为集成身份验证
以下是有关我尝试过的内容的一些信息-
sqljdbc41在路径变量中添加了路径。sqljdbc_auth.dll在路径变量中添加了路径。sqljdbc41.jar到我的Nebeans项目库中。sqljdbc_auth.dll下到两个bin文件夹jdk和jre。jdk就是64 bit在Program Files文件夹没有程序文件(x86)的。编辑
现在我遇到了一个新事物 - 在我第一次部署项目时重新启动我的电脑后,它运行良好,但是当我对代码进行任何更改并重新运行该项目时,它无法正常工作!
我是REST的新手,我正在尝试开发一个Web应用程序,它将从一个sid(已经覆盖)和另一个HP的ALM连接到JIRA.
我现在正在尝试完成的是使用PHP对ALM进行基本身份验证,但似乎无法取得进展.
这是我的代码:
$handle=curl_init('http://192.168.1.7:8081');
$headers = array(
'Accept: application/xml',
'Content-Type: application/xml',
'Authorization: Basic YWRtaW46MTIzNA==',
);
$username='admin';
$password='1234';
$url = 'http://192.168.1.7:8081/qcbin/authentication-point/login.jsp';
curl_setopt_array(
$handle,
array(
CURLOPT_URL=>'http://192.168.1.7:8081/qcbin/rest/domains/default/projects/Ticomsoft/defects?login-form-required=y',
//CURLOPT_COOKIEFILE=>$ckfile,
CURLOPT_POST=>true,
//CURLOPT_HTTPGET =>true,
CURLOPT_COOKIEJAR=>$ckfile,
CURLOPT_VERBOSE=>1,
//CURLOPT_POSTFIELDS=>,
//CURLOPT_GETFIELDS=>'j_username=admin&j_password=1234&redirect-url=http://192.168.1.7:8081/myUiResource.jsps',
CURLOPT_SSL_VERIFYHOST=> 0,
CURLOPT_SSL_VERIFYPEER=> 0,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_FOLLOWLOCATION=>true,
CURLOPT_HEADER=>false,
CURLOPT_HTTPHEADER=> $headers,
CURLOPT_AUTOREFERER=>true
//CURLOPT_COOKIE=>
//CURLOPT_USERPWD=>"admin:yahala"
//CURLOPT_CUSTOMREQUEST=>"POST"
)
);
$result=curl_exec($handle);
$ch_error = curl_error($handle);
$response = curl_getinfo($handle);
print_r($response);
if ($ch_error) {
echo "cURL Error: $ch_error";
} else {
//var_dump(json_decode($result, true));
echo $result;
}
curl_close($handle);
?>
Run Code Online (Sandbox Code Playgroud)
你可以看到,随着我的试验和错误的进展,有很多垃圾.
这对于专业人士来说应该是一个简单的方法.我正在使用soapClient php库进行简单的调用(参见下面的代码).
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$url = "http://webservices.daehosting.com/services/TemperatureConversions.wso?WSDL";
$client = new SoapClient($url, array("trace" => 1, "exception" => 0));
var_dump($client->__getFunctions());
$SOAPCall = "CelciusToFahrenheit";
$SoapCallParameters = "30";
$obj = $client->CelciusToFahrenheit($SoapCallParameters);
var_dump($obj);
var_dump($client->getLastRequest());
?>
</body>
Run Code Online (Sandbox Code Playgroud)
当我执行时,我得到以下错误.我查看了Apache错误日志,我看到了同样的错误.
Fatal error: Uncaught SoapFault exception: [HTTP] Internal Server Error in C:\wamp\www\phpSandbox\index.php:16 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://webservi...', '', 1, 0) #1 C:\wamp\www\phpSandbox\index.php(16): SoapClient->__call('CelciusToFahren...', Array) #2 C:\wamp\www\phpSandbox\index.php(16): SoapClient->CelciusToFahrenheit('30') #3 {main} thrown in C:\wamp\www\phpSandbox\index.php on line 16
Run Code Online (Sandbox Code Playgroud)
我也从面临类似问题但未能找到解决方案的人那里做了一些阅读.
我确信soapClient库已激活,因为以下代码有效
var_dump($client->__getFunctions());
Run Code Online (Sandbox Code Playgroud)
输出:
array (size=4)
0 => string …Run Code Online (Sandbox Code Playgroud) 当我在 WSDL 位置输入 URL 时,我收到以下错误消息
Error loading [http://www.mobilefish.com/services/web_service/countries.php?wsdl]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: Reference to undefined entity: nbs
Run Code Online (Sandbox Code Playgroud) 这感觉很愚蠢,但这段代码有什么问题?我的for循环运行到55
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder("StepName#ResponseAsXml")
def cnt = holder["count(//Results/ResultSet/Row)"]
log.info "Row count is: " + cnt
for(int i = 1; i<=cnt; i++){
x = x + 1
}
log.info "Loop ran for: " + x
Run Code Online (Sandbox Code Playgroud)
输出如下:
2013年8月19日星期一12:38:04:信息:行数是:7
星期一8月19日12:38:04 ADT 2013:INFO:Loop竞选:56
编辑...让我们尝试不同的东西,忘记变量x,然后像这样打印行:
for(int i = 0; i<cnt; i++){
log.info "At row: " + i.toString()
}
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
Mon Aug 19 12:57:41 ADT 2013:INFO:Row count: 7
Mon Aug 19 12:51:03 ADT 2013:INFO:At row: 0
Mon Aug 19 12:51:03 …Run Code Online (Sandbox Code Playgroud)