Beispiel #1
0
int
outbound_control_header_filter(SoapOpH opHandle,
			       void *data, void *opaqueData)
{
	op_t *op = (op_t *)opHandle;
	WsmanMessage *msg = wsman_get_msg_from_op(opHandle);
	if(check_envelope_size(op->out_doc, op->maxsize, msg->charset)) {
		debug("****should not go here");
		generate_op_fault(op, WSMAN_ENCODING_LIMIT,
						WSMAN_DETAIL_SERVICE_ENVELOPE_LIMIT);
	}
	return 0;
}
Beispiel #2
0
int Redirect_transfer_action ( SoapOpH op,
                void* appData,
                void *opaqueData)
{
    //Same function to be called for Get, Put, Create, Delete Actions
    WsmanMessage *msg = wsman_get_msg_from_op(op);
    SoapH soap = soap_get_op_soap(op);
    WsXmlDocH in_doc = soap_get_op_doc(op, 1);	
    WsContextH cntx = ws_create_ep_context(soap, in_doc);
    WsManClient *cl=NULL;
    WsXmlDocH response=NULL;



    debug ("Test Get Endpoint Called"); 
    cl = setup_redirect_client(cntx, msg->auth_data.username, msg->auth_data.password );

    wsman_send_request(cl,cntx->indoc);


    if (wsmc_get_last_error(cl) != WS_LASTERR_OK ){
	//CURL/ HTTP errors	
	soap_set_op_doc(op, 
	    redirect_generate_fault( cntx->indoc , cl), 
	    0);

	    return 1;
    }


    response = wsmc_build_envelope_from_response(cl);
  
    soap_set_op_doc(op, 
		ws_xml_duplicate_doc(response), 0);

    wsmc_release(cl);

    return 0;
}