blob: b19a5d3f347ab0434169be129f0bb3cb820cb6ae [file] [log] [blame]
// Copyright 2003-2004 The Apache Software Foundation.
// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*
* This client tests setting and getting the transport properties.
* The test framework also verify the message content on the wire.
*/
#include <stdlib.h>
#include <stdio.h>
#include "CommonClientTestCode.h"
#include "Calculator.h"
void printProperties1(AXISCHANDLE obj, int response);
void printProperties(AXISCHANDLE obj);
int main(int argc, char* argv[])
{
AXISCHANDLE ws;
char endpoint[256];
const char* url="http://localhost:80/axis/Calculator";
int iResult;
int rc=1;
axiscAxisRegisterExceptionHandler(exceptionHandler);
if(argc>1)
url = argv[1];
sprintf(endpoint, "%s", url);
ws = get_Calculator_stub(endpoint);
axiscStubSetTransportProtocol(ws, AXISC_APTHTTP1_1);
axiscStubSetTransportProperty(ws, "Accept-Language", " da, en-gb;q=0.8, en;q=0.7");
axiscStubSetTransportProperty(ws, "Accept-Language", "l1");
axiscStubSetTransportProperty(ws, "Date", "Mon Dec 6 13:37:06 GMT 2004");
axiscStubSetTransportProperty(ws, "Accept-Language", "l22");
printf( "Full properties list \n" );
printProperties(ws);
//deleting the transport with specific key value
axiscStubDeleteTransportProperty(ws, "Accept-Language",2);
printf( "After deleteTransportProperty(key,int) method \n" );
printProperties(ws);
//Go to the last property and delete
axiscStubGetFirstTransportPropertyKey(ws, 0);
axiscStubGetNextTransportPropertyKey(ws, 0);
axiscStubGetNextTransportPropertyKey(ws, 0);
axiscStubDeleteCurrentTransportProperty(ws, 0);
printf( "After deleteCurrentProperty method \n" );
printProperties(ws);
iResult = add(ws, 2,3);
printf("%d\n", iResult );
rc=0;
destroy_Calculator_stub(ws);
printf( "---------------------- TEST COMPLETE -----------------------------\n");
return rc;
}
void printProperties(AXISCHANDLE obj)
{
printf( " ** Request Properties **\n" );
printProperties1(obj, 0);
printf( " ** Response Properties **\n" );
printProperties1(obj, 1);
printf( " ****************************************************** \n" );
}
void printProperties1(AXISCHANDLE obj, int response)
{
const char* transprop1;
transprop1 = axiscStubGetFirstTransportPropertyKey(obj, response);
do
{
transprop1 = axiscStubGetCurrentTransportPropertyKey(obj, response);
printf( " current transport property key = %s", transprop1 ? transprop1 : "<NULL>");
transprop1 = axiscStubGetCurrentTransportPropertyValue(obj, response);
printf( " value = %s\n", transprop1 ? transprop1 : "<NULL>");
}
while ( (transprop1 = axiscStubGetNextTransportPropertyKey(obj, response)) != NULL);
return ;
}